Remkomplekty.ru

IT Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Access подстановка значений из другой таблицы

Автоматическая подстановка значения в поле ввода

Частсг для заполнения некоторых полей таблиц требуется вычислить выражение на основе данных в других полях этой таблицы и, возможно, связанных с ней таблиц. Чтобы при вводе данных не вычислять это значение каждый раз самостоятельно, требуется создать форму для ввода данных, выполняющую необходимые вычисления автоматически. Это позволит застраховаться от ошибок при вычислениях и сократит время ввода данных.

Представим себе такой пример. Есть таблица «Товары» со списком товаров, где для каждого товара указана его цена (таблица содержит поля «НаименованиеТовара» и «Цена», и первое поле является ключевым). Есть другая таблица «Заказы» со списком заказов на эти товары, содержащая информацию о типе и количестве заказанного товара (поля «НаименованиеТовара» и «Количество»), а также о его стоимости (поле «Сумма»). Таблица «Заказы» связана с таблицей «Товары» по полю «НаименованиеТовара» отношением «один-ко-многим». Требуется создать форму для добавления новых заказов так, чтобы при выборе необходимого товара из предложенного списка и после ввода заказанного количества в поле «Сумма» автоматически подставлялось значение стоимости всего заказа для данного товара.

Для решения поставленной задачи требуется выполнить следующие действия:[ Реализация этого примера — небольшая база данных Заказы.mdb — есть на компакт-диске, который является дополнительным приложением к комплекту книг о Microsoft Office 2002 издательства «БХВ-Петербург» и распространяется отдельно. ]

  1. Создайте запрос, содержащий поле «Цена» из таблицы «Товары» и все поля из таблицы «Заказы». Сохраните его с именем «Заказано».
  2. Создайте форму «Заказы» на основе запроса «Заказано».
  3. Поместите в форму элемент управления Список, связанный с полем «НаименованиеТовара» источника данных формы.

Замечание

Это можно выполнить с помощью окна Список полей (Filed List) (см. гл. 5), предварительно указав в режиме Конструктора таблицы «Заказы» для поля «НаименованиеТовара» на вкладке Подстановка (Lookup) значение Поле со списком (Combo Box) для свойства Тип элемента управления (Display Control) и имя таблицы «Товары» в качестве значения свойства Источник,строк (Row Source).

  1. Поместите в форму текстовые поля, связанные с полями «Количество» и «Сумма» источника данных формы.
  2. Для поля «Количество» в окне свойств раскройте вкладку События (Events). Для события После обновления (After Update) создайте процедуру обработки события (см. разд. «Динамическая фильтрация данных» этой главы) со следующим содержанием:

Private Sub Количество_А£terUpdate()

Сумма = Цена * Количество End Sub

Таким образом, после ввода значения в поле «Количество» в поле «Сумма» будет автоматически подставлена вычисленная стоимость заказа. А поскольку поле «Сумма» является присоединенным к одноименному полю в таблице «Заказы», вычисленное значение автоматически попадет в таблицу.

Не всегда вычисляемые значения требуется сохранять в самих таблицах. Чаще всего достаточно только отобразить результат вычисления в вычисляемом поле формы или запроса для информирования пользователя. Ведь это значение можно вычислить в любой момент на основе данных, хранящихся в таблицах, и не потребуется выполнять проверку на правильность сохраненного значения при изменении значений полей, использованных в его вычислении, в других формах или непосредственно в таблице (см. также разд. «Создание вычисляемых полей» данной главы и разд. «Вычисления на выделенных записях таблицы»гл. 8).

Создание или удаление поля списка значений

Используйте поле списка значений, если имеется ограниченный набор значений, которые изменяются не часто, например шкалы оценок или категории расходов.

Примечание. В Access существуют другие типы полей списков: поле подстановки, которое ищет соответствующие данные в таблице (например, поле идентификатора, которое ищет полное имя), и многозначное поле, в котором может храниться до 100 значений, разделенных запятой (,). За дополнительной информацией обращайтесь к статьям Создание и удаление поля подстановки и Создание и удаление многозначного поля.

В этой статье

Создание поля списка значений

Откройте таблицу в режиме Конструктор.

Щелкните в столбце Тип данных ячейку, соответствующую столбцу, который будет задан как поле подстановки, щелкните стрелку вниз и выберите пункт Мастер подстановок.

Примечание. Мастер подстановок в зависимости от выбранных в нем настроек создает списки трех типов: поле подстановки, поле списка значений и многозначное поле.

Внимательно следуйте указаниям мастера.

На первой странице выберите вариант Будет введен фиксированный набор значений и нажмите кнопку Далее.

На второй странице оставьте первый столбец выбранным, введите несколько значений (по одному значению на каждую строку под заголовком столбца), а затем нажмите кнопку Далее.

Читать еще:  Как сделать презентацию с помощью powerpoint

На третьей странице на вопрос Ограничить записи вариантами из списка? выберите вариант ответа Ограничиться списком, а затем нажмите кнопку Готово.

Обновление свойств поля списка значений

При создании поля списка значений с помощью мастера подстановок свойства подстановки для этого поля задаются автоматически. Чтобы изменить структуру поля списка значений, задайте его свойства Подстановка.

Откройте таблицу в Конструкторе.

Щелкните имя поля подстановки в столбце Имя поля.

В разделе Свойства поля откройте вкладку Подстановка.

Задайте свойству Тип элемента управления значение Поле со списком, чтобы видеть все доступные изменения свойств, отражающие ваш выбор. За дополнительной информацией обращайтесь к статье Свойства поля подстановки.

Редактировать список значений можно непосредственно в свойстве Источник строк.

Удаление поля списка значений

Важно! При удалении поля списка значений, в котором содержатся данные, эти данные теряются без возможности восстановления, отменить это действие нельзя. Поэтому перед удалением каких-либо полей или других компонентов базы данных создавайте резервную копию базы данных.

Удаление из режима таблицы

Откройте таблицу в режиме Режим таблицы.

Найдите поле списка значений, щелкните правой кнопкой мыши строку заголовка и выберите команду Удалить поле.

Нажмите кнопку Да, чтобы подтвердить удаление.

Удаление из конструктора

Откройте таблицу в режиме Конструктор.

Щелкните область выделения строки рядом с полем списка значений, а затем нажмите клавишу DELETE, либо щелкните правой кнопкой мыши область выделения строки и выберите команду Удалить строки.

Нажмите кнопку Да, чтобы подтвердить удаление.

Добавление поля подстановки или поля списка значений в веб-приложении Access

Важно Корпорация Майкрософт больше не рекомендует создавать и использовать веб-приложения Access в SharePoint. В качестве альтернативного средства для бизнес-решений, не требующих дополнительного программирования и работающих в браузере и на мобильных устройствах, рекомендуется использовать Microsoft PowerApps.

Поле подстановки используется для поиска в одной таблице значений, которые можно использовать в другой таблице. Поле подстановки может служить источником значений для раскрывающегося списка и использоваться для упрощения ввода данных в поле. Пусть, например, вы хотите создать список 50 штатов США, чтобы пользователи могли выбирать штат в списке, а не вводить его название. С помощью мастера подстановок в Access можно создать поле подстановки для названия штата.

В этой статье

Создание поля подстановки

Если ранее вы использовали шаблон для создания приложения или добавления таблицы, возможно, в Access уже созданы отношения подстановки между таблицами. Чтобы проверить наличие полей подстановки, откройте таблицу в режиме конструктора в Access и найдите в столбце Тип данных тип данных Подстановка.

Использование мастера подстановок в веб-приложении Access:

В классическом приложении Access откройте таблицу в режиме конструктора.

В первой пустой строке списка полей введите название нового поля подстановки и щелкните Подстановка в столбце Тип данных. Будет запущен мастер подстановок.

Важно: В веб-приложении Access следует сразу же после добавления поля настроить для него тип данных «Подстановка». Если вы измените тип данных поля на тип «Подстановка», вам не удастся сохранить изменения структуры таблицы, даже если в поле не было значений. Это ограничение распространяется только на веб-приложение.

Щелкните Поле подстановки должно получать значения из другой таблицы или запроса.

Выберите таблицу или запрос, который нужно использовать в качестве источника данных.

В списке Выберите значение, которое должно отображаться в поле подстановки выберите необходимое поле или запрос для данных подстановки.

В списке Отсортировать элементы в поле подстановки? укажите, как сортировать значения.

Выберите, какое действие нужно выполнить при удалении записи из таблицы.

Примечание: Лучше всего установить флажок Запретить удаление, если существуют соответствующие записи…, поскольку при этом сохранится целостность данных. Применять другие параметры следует с осторожностью.

Нажмите кнопку ОК и сохраните изменения в таблице.

Создание поля списка значений

Вы можете создать список значений вместо использования существующего поля или запроса в качестве источника.

В классическом приложении Access откройте таблицу в режиме конструктора.

Важно: В веб-приложении потребуется использовать новое поле. Если вы измените тип данных поля на тип «Подстановка», вам не удастся сохранить изменения структуры таблицы, даже если в поле не было значений.

Добавьте новое поле и выберите тип данных Подстановка. Будет запущен мастер подстановок.

Читать еще:  Макросы в access 2020 примеры

Установите флажок Будет введен фиксированный набор значений.

Введите по одному значению в каждую строку, а затем нажмите кнопку ОК.

Сравнение поля со списком и элемента управления с автозаполнением

В следующем представлении:

Для поля Зона доставки используется элемент управления с автозаполнением. Как только пользователь введет первую или несколько первых букв зоны, будет отображено первое соответствие в списке. Элемент управления с автозаполнением следует применять, если пользователи уже знают, что они ищут, и не хотят полностью просматривать длинный список. Дополнительные сведения см. в статье Добавление элемента управления автозаполнением в представление.

Для поля Штат используется элемент управления «поле со списком». Нажмите кнопку со стрелкой вниз, чтобы увидеть весь список значений. Поле со списком следует применять, когда пользователи сразу должны видеть все варианты выбора. Дополнительные сведения см. в статье Добавление поля со списком в представление.

Подстановка значений из другой таблицы на основании выбранного ключа в форме

Здравствуйте, господа. Есть база, в ней три таблицы:
—табл1(поля А1, Б1, В1),
—табл2(А2, Б2, В2) и
—табл3(А3, Б3, В3).

Поля А1, А2 и А3 имеют одинаковый набор значений, т.е. А1=А2=А3, плюс поле А во всех таблицах является ключевым.

Я создал форму, на основе табл1, поле А1 вывел выражающим списком.
Поля Б1 и В1 выводятся с помощью dlookup, на основании значения А1. Теперь мне необходимо вывести в эту же форму значения полей из таблиц 2 и 3 таким же образом, чтобы после обновления значения А1 в выпадающим списке формы, данные полей (в форме) Б2, В2, Б2, В3 тоже обновлялись автоматически.

Создал связи между всеми таблицами по полю А (один к одному, если я правильно понимаю). Добавил в форму поля и в свойстве Данные-Источник этих полей выбрал нужные мне поля таблиц 2 и 3.

Теперь пробуют также, с помощью dlookup в событии AfterUpdate поля А1 вывести нужные мне значения. Но не выходит. В поля Б2-3 и В2-3 данные не подставляются.

Где я ошибся и в правильном ли вообще направлении иду?
Заранее спасибо за любое внимание к моему вопросу.

Перенос значений из отдельного листа Эксель в другой лист на основании выбранного значения по столбцу
Коллеги, прошу помощи! Есть основной лист в Эксель, называется потребность в ТМЦ. Данная форма.

Заменить значение ключа из одной таблицы именем из другой таблицы в форме
Здравствуйте! Есть две таблицы. Одна таблица называется "Посуда" с полями "Ключ посуды" и.

Подстановка значений из другой таблицы
Здравствуйте! Подскажите пожалуйста! Как при заполнении таблицы рейс сделать в форме: при выборе.

Подстановка значений из другой таблицы
Добрый день! имеем таблицу 1: фио, прописан(id), проживает(id) и таблицу 2: id, название улицы.

Событие привязали к полю А1, а в DLookup наверняка указаны А2 и А3.

Мы не знаем, куда вы хотите попасть, поэтому оценить правльность направления трудно. Но выглядит описанное вами странно, начиная самой структуры данных (присоединяюсь к вопросу выше — зачем вообще таблиц три?), и заканчивая формой, основанной на запросе, в которой вместо того, чтобы добавить все нужные поля в запрос и просто вывести их на форму — зачем-то обрабатываются события и используется DLookup.

Добавлено через 2 минуты
В общем, 1) выкладывайте базу 2) рассказывайте задачу (цель, чего добиться пытаетесь в итоге), а не то, как вы ее решаете.

На самом деле полей намного больше и я разделил их по тематике для удобства, на три таблицы. Dlookup использую, чтобы поля в форме автоматически обновлялись после обновления А1 в форме. Список не выражающий, а выПАДающий — я опечатался, прошу прощения.
Конкретнее по dlookup:
Б1(форма)=dlookup(«Б1(таблица)», «табл1», «А1(таблица)=А1(форма)»)
Б2(форма)=dlookup(«Б2(таблица)», » табл2″, «А2(таблица)=А1(форма)»)
(таблица) и (форма) я указал просто для визуального разделения табличных и форменных полей, в коде этого нет.
В итоге Б1 выводиться как положено, а Б2 не выводится вообще.

Добавлено через 12 минут
Upd: Проблема решилась. Моя ошибка была в том, что указывал в поле формы запрос на вывод полей Б2 и Б3 таблицы, а этого делать было не нужно. Оставил просто пустые поля в форме и dlookup заработал как надо.
Все равно большое спасибо за внимание.
Ещё, по ходу, дела, такой вопрос. Я немного знаком с базами sql и старался максимально оптимизировать структуру полей, чтобы не было не нужных. В каждой таблице несколько десятков полей. Если соединить все в одну, будет каша, как я считаю. Или все таки я не прав и надо все объединить?

Читать еще:  Запросы на добавление в access 2020

СОЗДАНИЕ ПОЛЯ ПОДСТАНОВКИ ДЛЯ ЗАПОЛНЕНИЯ ТАБЛИЦ В СУБД ACCESS

Как организовать дистанционное обучение во время карантина?

Помогает проект «Инфоурок»

Витебский государственный политехнический колледж ВГТУ

СИСТЕМА УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ ACCESS

Создание поля подстановки

Поле подстановок – это поле в таблице, значения которого загружаются из другой таблицы или из списка значений. Ввод значений в поле подстановок существенно упрощается за счёт выбора данных из раскрывающегося списка и повышает производительность процесса формирования таблиц.

Поле подстановок можно создавать вручную или автоматически путем заполнения полей мастера подстановок. По возможности следует использовать второй вариант, так как мастер подстановок автоматически заполняет соответствующие свойства поля и при этом создаёт соответствующие связи между таблицами.

Предположим, что имеется база данных Университет , содержащая таблицы Студент , Специальность , Группа и Факультет (рис. 1-4) и в качестве примера рассмотрим добавление в таблицу Студент поля Наименование_факультета , используя операцию подстановки.

Рис. 1. Пример заполнения таблицы Студент

Рис. 2. Пример заполнения таблицы Специальность

Рис. 3. Пример заполнения таблицы Группа

Рис. 4. Пример заполнения таблицы Факультет

Так как в рассматриваемой базе данных есть таблица Факультет , то целесообразно создать поле подстановки и в процессе заполнения поля Наименование_факультета использовать подстановку нужного наименования из раскрывающегося списка 1 . Создание поля подстановок удобно осуществлять с использованием Мастера. Для этого необходимо:

— открыть таблицу Студент ;

— открыть вкладку ПОЛЯ ;

— щёлкнуть левой кнопкой мышки (ЛКМ) по кнопке Щелкните для добавления на последнем поле таблицы;

— из открывшегося краткого меню подать команду Подстановка и отношение (рис. 5). На экране появится окно Создание подстановки (рис. 6), в котором отображается список значений для выбора. По умолчанию предлагается импортировать значения из другой таблицы или другого запроса;

Рис. 5. Краткий список свойств поля

Рис. 6. Окно Создание подстановки

— щёлкнуть ЛКМ по кнопке Далее . На экране появится второе окно Создание подстановки (рис. 7), в котором предлагается выбрать таблицу или запрос со значениями, которые будет содержать поле подстановки. Факультет и щёлкнуть ЛКМ по кнопке Далее ;

Рис. 7. Окно выбора объекта, из которого будет импортировано поле подстановки

— выделить таблицу Факультет и щёлкнуть ЛКМ по кнопке Далее . На экране появится третье окно Создание подстановки (рис. 8), в котором запрашиваются поля таблицы Факультет , значения которых будет содержать поле подстановки в таблице Студент .

Рис. 8. Окно с запросом на выбор столбцов подстановки

— в разделе Доступные поля задать поле Наименование_факультета и щёлкнуть ЛКМ по кнопке, обозначенной стрелочкой на рис. 8.Заданное поле будет перемещено в раздел Выбранные поля ;

— в следующих, четвёртом и пятом окнах Создание подстановки (рис. 9 и 10) нужно выбрать порядок сортировки элементов списка и задать нужную ширину столбца списка. В окне на рис. 10 рекомендуется активизировать опцию Скрыть ключевой столбец ;

Рис. 9. Окно с запросом порядка сортировки записей

Рис. 10. Окно с запросом ширины поля

— в шестом окне Создание подстановки (рис. 11) задать подпись поля подстановки (заголовок столбца) и щёлкнуть ЛКМ по кнопке Готово . В качестве названия в данном примере логично задать Наименование_факультета .

Рис. 11. Окно с запросом заголовка поля подстановки

На этом создание поля подстановки закончено.

Теперь для заполнения данными ячеек поля Наименование_факультета пользователь должен щёлкнуть ЛКМ по заполняемой ячейке, раскрыть список и выбрать нужное название факультета, как показано на рис. 12.

Рис. 12. Заполнение ячейки поля Наименование_факультета данными

1. Сеннов, А. Access 2010. Учебный курс / А. Сеннов. – СПб : Питер, 2010. 288 с. : ил.

2. Шелкоплясова, Т.Н. Основы компьютерной грамотности : пособие [Текст] / Т.Н. Шелкоплясова, Е.С. Шелкоплясов, О.А. Левкович – Минск : Элайда, 2008. – 656 с. : ил.

1 Все представленные в таблицах данные являются вымышленными. Совпадения с реально существующими данными следует рассматривать как случайные.

Ссылка на основную публикацию
Adblock
detector