Расширенный перекрестный запрос
Продолжаем усложнять ситуацию. Еще труднее для понимания является информация о том, как создавать запросы в Access, если присутствует несколько таблиц с данными. Перекрестный запрос уже рассматривался выше, как один из вариантов работы с Мастером. Однако, и в режиме «Конструктора» можно создавать подобный запрос.
Для этого необходимо нажать «Конструктор запросов» — «Перекрестный».
Открывается меню добавления исходных таблиц, а также возможность заполнения выборочных полей
Единственное, на что следует обратить внимание, — пункты «групповая операция» и «перекрестная таблица». Их нужно заполнять правильно, иначе процедура не будет выполнена корректно
Перекрестные запросы — это наиболее простой способ поиска и выборки информации из нескольких источников данных, плюс с возможностью формирования диаграмм и графиков.
Более того, при использовании данной процедуры быстрее выполняется поиск, даже с несколькими вариантами развития.
Конечно, присутствуют и «подводные камни», которые могут помешать в работе. Например, при создании запроса на сортировку базы данных по значению столбцов система выдает ошибку. То есть доступна только сортировка по стандартным пунктам — «возрастание и убывание».
Подводя итоги, нужно сказать, что решить, как создавать запросы в Access — с помощью Мастера или Конструктора, должен сам пользователь. Хотя, для большинства людей, которые используют СУБД MS Access, больше подойдет первый вариант. Ведь Мастер сам сделает всю работу, оставив для пользователя только несколько кликов мышью, при выборе условий запроса.
Чтобы использовать расширенные настройки, явно необходим опыт работы с базами данных на уровне профессионала. Если в работе задействованы большие базы, лучше всего обратиться к специалистам, дабы избежать нарушения работы СУБД и возможных потерь данных.
Есть один момент, который доступен лишь программистам. Так как основным языком СУБД является SQL, то нужный запрос можно написать в виде программного кода. Чтобы работать в данном режиме, достаточно нажать на строку уже созданного запроса, и в открывшемся контекстном меню выбрать «Режим SQL».
Как создать выпадающий список
Для этого необходимо сначала создать форму, если она у Вас уже есть то это даже лучше, но для начинающих я повторюсь.
Открываем Access в режиме конструктора, выбираем «Формы» на окне объекты, и жмем создать
Затем нам предложат выбрать источник данных, но нам этого не нужно мы просто жмем «ОК»
Затем на панели элементов выбираем элемент «Поле со списком» и перетащим его на нашу форму, и сразу же в это время запустится мастер создания полей со списком. На первом шаге нам предложат, выбрать способ получения данных, и для начала мы выберем «Фиксированный набор значений», в дальнейшем мы разберем, как можно использовать получения данных на основе запроса или таблицы. А пока жмем далее:
Затем необходимо ввести набор значений, которые будет содержать наш список. И здесь мне бы хотелось бы рассказать, что очень часто мы используем два столбца, т.е. в первом храним идентификатор, а во втором само значение. Другим словами, чтобы не записывать в базу все значение целиком, мы записываем только идентификатор (например, для оптимизации размера базы данных). Поэтому мы укажем 2 столбца, и заполним их следующим образом:
После того как Вы нажмете далее, Вы попадете на окно, в котором можно будет указать, какое поле (столбец) будет записываться в базу данных. Здесь подразумевается, что если бы мы указали источник данных у нашей формы, то мы бы могли задать соответствующее поле, в которое записывалось выбранное значение из выпадающего списка, а так как в выбранном значении у нас хранится как бы два значения (два же столбца) здесь мы как раз указываем какое именно должно записывать в базу, как мы уже определились ранее, будим записывать идентификатор, т.е. первый столбец.
Вот в принципе и все, единственное на следующем шаге мы можем задать подпись нашего выпадающего списка и жмем «Готово»
В итоге у нас на форме будет отображено следующее
Надпись «Свободный» означает, что данному выпадающему списку не заданно не одно поле из источника данных, поэтому все, что мы выберем, никуда не запишется.
Теперь сохраняем форму, и запускам ее:
Мы видим, что при нажатии на выпадающий список, он раскрывается, и появляются значения, в виде двух столбцов как мы и указывали. И если мы выберем одно значение, то оно заполнится в поле, причем значение будет отображаться то, которое должно быть записано в это поле.
И вот тут начинаем прибегать к хитрости, о которой я упоминал в начале статьи. Она заключается в следующем, когда мы нажимали на выпадающий список, у нас отображались два столбца, но согласитесь, зачем обычным пользователям видеть идентификаторы этих значений, и после того, когда мы выбрали значение, лучше чтобы отображалось описание этого значения, а не сам идентификатор, поэтому мы делаем вот что, мы просто делаем невидимым первый столбец с идентификатором. Это делается в свойствах «поля со списком» ширина столбцов. И первому столбу мы задаем значение 0см.
И теперь у нас все будет выглядеть как надо
Отображается второй столбец, а записывается в базу первый, т.е. идентификатор.
Ну и теперь вкратце, как и обещал, покажу, как задать список значений на основе запроса к базе данных. Не используя при этом ввод значений, так как все наши значения будут храниться в базе. Для этого давайте определимся с источником, пусть это будет таблица test_table, вот с таким данными, простой запрос select:
И теперь чтобы переделать наше поле со списком заходим в его свойства, переходим на вкладку «Данные» и меняем там «Тип источника строк» на «Таблица, представление, процедура» и «Источник строк» на запрос скажем вот такой
select id, name from test_table where priz = 0
От себя я добавил условие where priz = 0 просто так чтобы Вы понимали, что эта таблица может использоваться для разных полей со списком.
Больше ничего не меняем, просто сохраняем и запускаем нашу форму
И теперь наш выпадающий список берет значения не из простого списка, а из базы данных.
С выпадающими списками Вы теперь знакомы, и знаете даже небольшие хитрости, которые помогут Вам в реализации Ваших задач. Удачи!
Нравится3Не нравится4
Создаем запросы
Далее требуется создать запросы, предназначенные для быстрой обработки и внесения информации в базу данных.
Классическая выборка
Запрос выборки позволяет производить отбор данных в БД по заранее созданным условиям. В нашем проекте будет создана выборка, позволяющая найти товар по его наименованиям. Работу будем производить в БД «Продукция».
Процесс выглядит следующим образом:
- переходим ко вкладке «Создание» и к блоку «Запросы»;
- далее находим инструмент «Конструктор»;
- после этого откроется новое диалоговое окно, где требуется добавить нужный проект, в нашем случае «Продукция» и закрываем окно;
- внизу появится поле «Бланк запроса», которое необходимо заполнить;
- после того, как условия выборки прописаны, переходим к блоку «Результаты» и щелкаем по значку восклицательного знака «Выполнить».
Создание сущности
Запрос на создание сущности в Майкрософт Аксесс производит выборку из взаимосвязанных таблиц и других ранее созданных запросов. В отличии от первого варианта результат сохранится в новой постоянной таблице.
Процесс выглядит следующим образом:
- формируем новый запрос согласно вышеуказанной инструкции: «Создать», «Конструктор запроса» выбираем нужную таблицу;
- закрываем диалоговое окно и заполняем бланк запроса;
- далее выполняем преобразование запроса из выборки в создание сущности. В ленте выбираем инструмент «Создание таблицы»;
- в диалоговом окне вводим имя нового объекта, и щелкаем «Ок»;
- кликаем «Выполнить», появится предупреждение о невозможности отменить изменения, выбираем «Да»;
- после этого в левой части экрана в блоке «Все таблицы» появится новый созданный объект.
На добавление, удаление, редактирование
Данный вид запросов подразумевает под собой создание и выполнение какого-либо действия, в результате которого изменятся параметры в таблице.
Создаем запрос следующим образом:
- добавляем классический запрос на выборку на основе данных из БД, возьмем для примера «Поставка»;
- далее в верхней части выбираем «Удаление» для преобразования запроса;
- в бланке прописываем необходимые условия;
- щелкаем «Выполнить», появится предупреждение о удалении.
Запрос на добавление:
- добавляем запрос выборку через конструктор;
- затем в верхней части ленты выбираем «Добавление»;
- после этого появится диалоговое окно где требуется ввести новое имя;
- кликаем «Ок» и в бланке прописываем требуемые условия;
- кликаем выполнить, появится предупреждение о добавлении в существующую таблицу новых данных.
На редактирование:
- добавляем классический запрос;
- преобразуем запрос в «Обновления» выбрав соответствующий инструмент в ленте;
- далее в бланке запроса указываем условия и нажимаем «Выполнить»;
Обзор интерфейса пользователя
Далее будут подробно рассмотрены основные элементы управления при работе с БД.
Важно! Обзор интерфейса будет проводиться на примере Microsoft Access 2013. Однако Microsoft Access 2007 и 2010 практически идентичны
Интерфейс в данной версии ПО разработан с целью повысить удобство работы с многочисленными элементами, в его основу заложена лента, которая обеспечивает быстрый доступ к основным функциям и командам
Интерфейс в данной версии ПО разработан с целью повысить удобство работы с многочисленными элементами, в его основу заложена лента, которая обеспечивает быстрый доступ к основным функциям и командам.
Пользовательский интерфейс:
- «Backstage» (создать). Элемент интерфейса появляется после старта программы и позволяет пользователю выбрать шаблон для создания БД. В процессе работы, чтобы перейти на данную вкладку необходимо проследовать по пути «Файл» и «Создать».
- «Файл». Позволяет сохранить, открыть, распечатать готовый документ, а также выставить параметры Access и установить подходящую тему оформления.
- «Лента». Является основным элементом при работе с редактором. Она содержит в себе модули с инструментами для создания и редактирования БД. В нее также входит панель быстрого доступа, на которой размещены наиболее часто используемые компоненты.
- «Область навигации». Позволяет увидеть результат выполненных действий и отражает структуру БД.
- «Диалоговое окно». Элемент интерфейса, с помощью которого пользователь может уточнить параметры объекта.
- «Контекстное меню». Чтобы отобразить компонент, потребуется щелкнуть «ПКМ» на элементе объекта. В него входят команды, которые зависят от выполняемой задачи.
- «Строка состояния». Используется для переключения режима представления документа, и для отображения состояния текущей операции.
Обзор интерфейса был выполнен на примере Microsoft Access 2013. В младших редакциях он может отличаться.
2 — Используем меню.
Давайте рассмотрим небольшой пример, в котором нам нужно постоянно вводить в таблицу одни и те же наименования товаров. Выпишите в столбик данные, которые мы будем использовать (например, названия товаров). В нашем примере — в диапазон G2:G7.
Выделите ячейку таблицы (можно сразу несколько), в которых хотите использовать ввод из заранее определенного перечня. Там мы разместим наш выпадающий список.
Далее в главном меню выберите на вкладке Данные – Проверка… (Data – Validation). Затем укажите пункт Тип данных (Allow) и выберите вариант Список (List). Поставьте курсор в поле Источник (Source) и впишите в него адреса с эталонными значениями элементов — в нашем случае G2:G7. Рекомендуется также использовать здесь абсолютные ссылки (для их установки нажмите клавишу F4).
Бонусом здесь идет возможность задать подсказку и сообщение об ошибке, если автоматически вставленное значение вы захотите изменить вручную. Для этого существуют вкладки Подсказка по вводу (Input Message) и Сообщение об ошибке (Error Alert).
В качестве источника значений для выпадающего списка в Excel можно использовать также и именованный диапазон.
К примеру, диапазону I2:I13, содержащему названия месяцев, можно присвоить наименование «месяцы». Затем имя можно ввести в поле «Источник».
Кроме того, и источник и в виде обычного диапазона ячеек, и именованный диапазон могут находиться на других листах вашей рабочей книги.
Но вы можете и не использовать диапазоны или ссылки, а просто определить возможные варианты прямо в поле «Источник». К примеру, чтобы реализовать в таблице Excel простейший выбор «да – нет», вы можете вписать туда –
Используйте для разделения значений точку с запятой, запятую, либо другой символ, установленный у вас в качестве разделителя элементов. (Смотрите Панель управления — Часы и регион — Форматы — Дополнительно — Числа.)
2.4. Системы управления базами данных и экспертные системы
2.4.7. Создание главной кнопочной формы БД Access
Главная кнопочная форма создается с целью навигации по базе данных. Эта форма может использоваться в качестве главного меню БД. Элементами главной кнопочной формы являются объекты форм и отчётов.
Запросы и таблицы не являются элементами главной кнопочной формы. Поэтому для создания кнопок Запросы или Таблицы на кнопочной форме можно использовать макросы. Сначала в окне базы данных создают макросы «Открыть Запрос» или «Открыть Таблицу» с уникальными именами, а затем в кнопочной форме создают кнопки для вызова этих макросов.
Для одной базы данных можно создать несколько кнопочных форм. Кнопки следует группировать на страницах кнопочной формы таким образом, чтобы пользователю было понятно, в каких кнопочных формах можно выполнять определенные команды (запросы, отчеты, ввода и редактирования данных). Необходимо отметить, что на подчиненных кнопочных формах должны быть помещены кнопки возврата в главную кнопочную форму.
Технология создания кнопочных форм следующая:
- создать страницу главной кнопочной формы (ГКФ);
- создать необходимое количество страниц подчиненных кнопочных форм (например, формы для ввода данных, для отчетов, для запросов и т.д.);
- создать элементы главной кнопочной формы;
- создать элементы для кнопочных форм отчетов и форм ввода или изменения данных;
- создать макросы для запросов или для таблиц с уникальными именами;
- создать элементы для кнопочных форм запросов или таблиц.
Структура кнопочных форм может быть представлена в следующем виде.
Для создания главной кнопочной формы и ее элементов необходимо открыть базу данных, (например, «Успеваемость_ студентов») и выполнить команду Сервис / Служебные программы / Диспетчер кнопочных форм. Если кнопочная форма ранее не создавалась, то откроется окно диалога «Диспетчер кнопочных форм».
В окне диалога надо нажать кнопку «Да», тем самым подтвердить создание кнопочной формы. В результате будет создана страница Главной кнопочной формы.
Далее можно создать еще три страницы кнопочной формы: Формы ввода данных, Отчеты и Запросы. Для этого следует щелкнуть на кнопке «Создать» и в появившемся окне ввести имя новой страницы «Формы ввода данных» и щелкнуть на кнопке «ОК».
Будет создана страница кнопочной формы «Формы ввода данных». Аналогичным образом надо создать еще две страницы, в итоге получим четыре страницы кнопочных форм, которые отображаются в окне «Диспетчер кнопочных форм».
После этого создаем элементы ГКФ, для этого в «Окне диспетчер кнопочных форм» выделяем страницу «Главная кнопочная форма» и щелкаем «Изменить», откроется новое окно «Изменение страниц кнопочной формы».
В этом окне щелкаем на кнопке «Создать», откроется новое окно «Изменение элемента кнопочной формы».
В окне выполняем следующее:
- вводим текст: Формы для ввода данных;
- выбираем из раскрывающегося списка команду: Перейти к кнопочной форме;
- выбираем из списка кнопочную форму: Ввод данных в формы, щелкаем на кнопке «ОК».
В окне «Изменение страницы кнопочной формы» отобразится элемент кнопочной формы «Формы для ввода данных».
Аналогичным методом надо создать элементы: «Запросы» и «Отчеты», а затем элемент (кнопку) «Выход из БД».
В результате в окне «Изменение страницы кнопочной формы» будут отображаться все элементы главной кнопочной формы.
Кнопочная форма появится в списке в области окна базы данных на вкладке Формы на панели Объекты, а на вкладе Таблицы в списках появится таблица Switchboard Items. Дважды щелкнув на надписи «Кнопочная форма», откроется Главная кнопочная форма.
Для того чтобы эта форма отображалась при запуске базы данных, необходимо выполнить команду Сервис/Программы запуска, и в открывшемся окне выбрать «Кнопочная форма» из раскрывающегося списка, кроме того, надо снять флажки Окно базы данных и Строка состояния. Можно также ввести заголовок и значок приложения.
Но на этом создание кнопочных форм еще не законченно, так как на подчиненных кнопочных формах (Формы ввода данных, Отчеты, Запросы) нет элементов. Каким образом поместить элементы на подчиненные формы рассмотрим в следующем разделе.
Пробелы в названии при создании связанного выпадающего списка
В случае если заголовок категории или группы содержит в своем названии больше одного слова, необходимо решить проблему с пробелами. Дело в том, что именованные диапазоны не разрешают использовать пробелы в названиях. И для этого существует лайфхак.
Именуя диапазон значений, важно использовать вместо пробела нижнее подчеркивание «_». Например, «Мясные_блюда»
Однако есть вероятность упустить данное правило в одном из названий, и в результате будет ошибка при выполнении операции. Можно в самих названиях использовать обычный пробел, а в момент подстановки в список, поменять его на подчеркивание, используя формулу ПОДСТАВИТЬ:
=ПОДСТАВИТЬ(F3;» «;»_») без кавычек.
Итоговая формула выглядит так:
=ДВССЫЛ(ПОДСТАВИТЬ($F$3;» «;»_»)) без кавычек.
Стоит обратить внимание на отсутствие пробелов в названии в начале и в конце, чтобы избежать некорректного вывода заголовков. Автоматизировать данный процесс при построении имени также можно посредством функции:. =ДВССЫЛ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ($F$3);» «;»_»)) без кавычек
=ДВССЫЛ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ($F$3);» «;»_»)) без кавычек.
Поле со списком
Поле со списком — это раскрывающийся список, который можно использовать в форме вместо поля. Поле со списком ограничивает информацию, которую пользователи могут вводить, заставляя их выбирать только те параметры, которые вы указали.
Полезное поле со списком для школ с ограниченным количеством действительных ответов. Например, вы можете использовать поля со списком, чтобы при вводе адреса люди вводили только допустимый штат в США или просто выбирали продукты, которые уже существуют в базе данных.
Как создать поле со списком
1. В представлении «Макет формы» выберите вкладку «Дизайн», затем найдите группу «Элементы управления».
2. Выберите команду Combo Box, которая выглядит как раскрывающийся список.
3. Выберите желаемое место для поля со списком. Появится линия, указывающая место, где будет создано ваше поле со списком. В этом примере он будет помещен между полем «Город» и «Добавить в список рассылки».
4. Появится диалоговое окно мастера Combo Box Wizard. Выберите «Я буду вводить нужные мне значения», затем нажмите «Далее».
5. Введите параметры, которые должны появиться в раскрывающемся списке. Каждый вариант должен находиться в отдельной строке. В этом примере создается поле со списком для поля «Добавить в список рассылки»? в форме, поэтому мы введем все возможные действительные ответы для этой школы. Пользователи смогут выбрать один из трех вариантов из заполненного поля со списком: «Нет», «Да» — еженедельно и «Да» — «Особые события и предложения».
6. При необходимости измените размер столбца, чтобы отображался весь текст. Когда вы будете довольны своим объявлением, нажмите Далее.
7. Выберите Сохранить это значение в этом поле, затем щелкните стрелку раскрывающегося списка и выберите поле, которое вы хотите выбрать, из записанного поля со списком. Сделав свой выбор, нажмите Далее.
8. Введите метку или имя, которое появится рядом с полем со списком. Как правило, следует использовать имя поля, которое вы выбрали на предыдущем шаге.
9. Щелкните Готово. Поле со списком появится в форме. Если вы создали поле со списком для замены текущего поля, вы должны удалить первое поле. В этом примере вы можете заметить, что теперь есть два поля с одинаковым именем. Эти два поля отправляют информацию в одно и то же место, поэтому оба нам не нужны. Я удалю тот, без поля со списком.
10. Переключитесь в представление формы, чтобы установить флажок в поле со списком. Просто щелкните стрелку раскрывающегося списка и убедитесь, что в списке указаны правильные варианты. Поля со списком теперь можно использовать для импорта данных.
Если вы хотите включить раскрывающийся список с различными параметрами и не хотите импортировать их все, создайте поле со списком и выберите первый вариант в мастере поля со списком: я хочу получить значения из другого таблица или запрос. Это позволит вам создать раскрывающийся список из поля в таблице.
Некоторые пользователи сообщают, что Access не может работать с формой. Если у вас возникли проблемы с выполнением любого из представлений макета, попробуйте переключиться в представление «Дизайн».
Реализация формы подбора
Был создан очень простой способ подбора, ведь в реальных прикладных решениях используется несколько иной механизм. Механизм должен решать следующие задачи:
- Просмотр выбранных значений в текущем сеансе подбора, то есть ему нужно просмотреть что он уже сделал и произвести необходимые изменения. Может быть пользователь кликнул дважды случайно и хочет отказаться от сделанного выбора. То есть нужно предоставить возможность визуализации выбранных значений.
- Корректировка выбранных значений, например, пользователь ввел одну строчку и потом решает, что вместо одной штуки товара нужно указать четыреста штук. У пользователя должна быть возможность корректировки строки, не закрывая подбор.
Как реализовать такой механизм подбора? Во-первых, нужно использовать специальную форму для документа. В этом случае удобно ориентироваться на месте расположения подбора. Кроме того, в этой форме мы будем размещать не только данные справочника, но еще и таблицу, которая будет отображать, сделанный пользователем выбор.
Создадим для документа «РеализацияТоваров» новую форму, которая будет называться «ФормаПодбора». Создадим произвольную форму, так как она не будет отображать данные документа. На форме создадим реквизит «Таблица» с типом данных «ТаблицаЗначений». Сделанный пользователем выбор будет размещен в этом реквизите.
В таблицу добавим несколько колонок. Колонка «Номенклатура» тип данных справочник «Номенклатура». И колонка «Количество» тип данных число длина 15, точность 3.
Создадим еще один реквизит «Товары», в котором будет размещен список товаров с типом данных «ДинамическийСписок». В качестве основной таблицы динамического списка укажем справочник «Номенклатура»
Здесь важно отметить, что обычно в подборе, кроме данных по номенклатуре, еще указывается и текущий остаток товара, который можно получить с помощью произвольного запроса. Чтобы работали механизмы множественного выбора нужно выставить флаг «Основной реквизит»
После установки этого флага система будет наследовать соответствующие параметры от динамического списка для этой формы. К сожалению, после установки этого флага на форме появилось три командных панели. И две из них абсолютно одинаковые. Чтобы отключить лишние панели нужно убрать флаг «Автозаполнение» у элемента формы «Командная панель». Для номенклатуры оставим командную панель, а вот для «Таблицы» отключим, поскольку пользователи добавляет данные в таблицу двойным кликом по верхней таблицы формы.
Флаг Автозаполнение элемента формы «Командная панель»
Итак, форму настроили, теперь нужно реализовать правильное поведение формы. Для начала в списке свойств формы найдем свойство «РежимОткрытияОкна» и из выпадающего списка выберем значение «Блокировать окно владельца». Это необходимо, чтобы пользователь не потерял окно подбора, когда нечаянно кликнет за пределами формы. В этом режиме можно перейти в главное приложение, а окно владельца блокируется, то есть то окно, из которого происходил вызов. Если сравнить с модальным режимом, то в этом режиме блокируются все окна приложения.
Когда пользователь делает выбор на одном из строк таблицы «Товары», то происходит добавление этой строки в нижнюю таблицу. Посмотрим какие есть события для таблицы формы «Товары». Событие «Выбор» как раз подойдет для реализации наших планов. Оно срабатывает при двойном щелчке мыши или нажатии на ENTER. По умолчанию система при выполнении этого действия откроет элемент справочника на редактирование, но нашем случае нужно изменить стандартное поведение.
Чтобы проверить работу формы, нужно открыть ее из основной формы документа. Изменим немного код, который мы использовали ранее.
Если сделать отладку, то обнаружится, что номенклатура не заполняется, так как переменная «ВыбраннаяСтрока» является массивом. Нужно сделать обход элементов этого массива. На каждом витке нужно добавить новую строку и установить количество.
Теперь нужно, чтобы при добавлении товара, который уже есть в нижней таблице не было дублирования строк, а вместо этого увеличивалось количество. Но хотелось бы вначале поговорить о том, какой тип данных у реквизита «Таблица». Если говорить о модуле формы подбора, то на клиенте переменная «Таблица» имеет другой тип данных. Если посмотреть в отладчике, то он покажет, что это тип данных «ДанныеФормыКоллекция». Синтаксис-помощник показывает, что у этого объекта есть метод «НайтиСтроки». Можно использовать этот метод, передавая параметры поиска. Перед тем, как добавить новую строку, будет осуществлен поиск.
Как создать выпадающий список
Для этого нужно сначала создать форму, если она у вас уже есть, то это еще лучше, но для новичков повторю.
Откройте Access в режиме конструктора, выберите «Формы» в окне «Объекты» и нажмите «Создать
Далее нас попросят выбрать источник данных, но нам это не нужно, мы просто нажимаем «ОК»
Затем в панели элементов выбираем элемент «Поле со списком» и перетаскиваем его на нашу форму, и сразу в этот момент запускается мастер создания полей со списком. На первом этапе нам будет предложено выбрать метод получения данных, и для начала мы выберем «Фиксированный набор значений», в дальнейшем мы обсудим, как мы можем использовать сбор данных на основе запроса или таблицы. А пока продолжим:
Затем нам нужно ввести набор значений, который будет содержать наш список. И тут я хотел бы вам сказать, что очень часто мы используем две колонки, т.е в первой мы храним идентификатор, а во второй само значение. Другими словами, чтобы не записывать в базу все значение, пишем только идентификатор (например, для оптимизации размера базы). Поэтому укажем 2 столбца и заполним их следующим образом:
После нажатия «Далее» вы попадете в окно, где вы можете указать, какое поле (столбец) будет записано в базу данных. Здесь подразумевается, что если бы мы указывали источник данных для нашей формы, то мы могли бы задать соответствующее поле, в которое было записано выбранное значение выпадающего списка, а так как выбранное значение хранит, так сказать, два значения. (два столбца) здесь мы указываем только какой из них должен быть записан в базу данных, как мы уже решили выше, мы будем писать идентификатор, то есть первый столбец.
Вот в принципе и все, единственное, что на следующем шаге мы можем настроить подпись нашего выпадающего списка и нажать «Готово»
В результате наша форма будет отображать следующее
Надпись «Свободно» означает, что для этого выпадающего списка не настроено более одного поля источника данных, поэтому что бы мы ни выбрали, оно никуда не будет записано.
Теперь сохраните форму и запустите ее:
Мы видим, что когда мы нажимаем на выпадающий список, он расширяется и появляются значения, в виде двух столбцов, как мы указали. И если мы выберем значение, то оно будет заполнено в поле и отобразится значение, которое нужно прописать в этом поле.
И тут начинаем прибегать к хитрости, о которой я упоминал в начале статьи. Он выглядит следующим образом, когда мы нажали на выпадающий список, мы показываем два столбца, но мы согласны, почему обычные пользователи должны видеть идентификаторы этих значений? После того, как мы выбрали значение, лучше отображать описание этого значения, а не сам id, поэтому мы просто делаем первый столбец id невидимым. Это делается в свойствах ширины столбца «поля со списком». И мы устанавливаем значение первого столбца на 0 см.
И теперь все будет выглядеть хорошо
Выводится второй столбец и в базу записывается первый столбец, т.е идентификатор
Ну а теперь вкратце, как и обещал, покажу, как задать список значений на основе запроса к базе данных. Без использования ввода значений, так как все наши значения будут храниться в базе данных. Для этого определим источник, пусть это будет таблица test_table, с такими данными, простой запрос на выборку:
А теперь, чтобы переделать наш комбо-бокс, заходим в его свойства, переходим на вкладку «Данные» и меняем «Тип источника строки» на «Таблица, представление, процедура» и «Источник строки» на запрос, скажем так
От себя я добавил условие где priz=0 просто чтобы вы понимали что эту таблицу можно использовать для разных комбобоксов.
Больше ничего не меняем, просто сохраняем и запускаем нашу форму
И теперь наш выпадающий список берет значения не из простого списка, а из базы данных.
Теперь вы знакомы с выпадающими списками и даже знаете маленькие хитрости, которые помогут вам в реализации ваших задач. Удачи!
Примечание. Мы стараемся предоставлять вам самые последние справочные материалы на вашем языке как можно быстрее. Эта страница переведена автоматически, поэтому может содержать неточности и грамматические ошибки
Нам важно, чтобы эта статья была вам полезна. Пожалуйста, уделите несколько секунд и сообщите нам, помогло ли это вам, используя кнопки внизу страницы
Для вашего удобства мы также предоставляем ссылку на оригинал).
При вводе информации в формы базы данных Access для настольных ПК быстрее и проще выбрать значение из списка, чем записывать его из памяти. Также при использовании списка выбора в поле будут вводиться только допустимые значения. Список может быть связан с существующими данными или содержать фиксированные значения, указанные при его создании. В этой статье описаны списки, доступные в формах Access, а также способы их создания и настройки.
Перекрестный запрос
Этот тип выборки более сложный. Чтобы разобраться, как создать в Access с помощью «Мастера» в данном режиме, нужно кликнуть по этой функции в первом окне.
На экране появится таблица, в которой можно выбрать до трех столбцов, расположенных в оригинале.
Одно из оставшихся не выбранных полей может быть использовано в качестве заголовков таблицы запроса. На третьем этапе процедуры (пересечение) выбирается еще одно значение с вариативностью функцию (среднее значение, сумма, первый, последний).
На фото показано, что перекрестный запрос создан, и что по заданным параметрам совершены необходимые действия.
Заключение
Список литературы
- Угринович Н.Д. Информатика-9. – М.: БИНОМ. Лаборатория знаний, 2012.
- Гейн А.Г., Юнерман Н.А. Информатика-9. – М.: Просвещение, 2012.
- Соловьёва Л.Ф. Информатика и ИКТ. Учебник для 9 класса. – СПб.: БХВ-Петербург, 2007.
Дополнительные рекомендованные ссылки на ресурсы сети Интернет
Домашнее задание
- Какие режимы работы поддерживает объект Форма?
- Как на форму добавить элементы управления в MS Access?
- Что такое главная кнопочная форма?
- Возможно ли визуальное редактирование форм?
Если вы нашли ошибку или неработающую ссылку, пожалуйста, сообщите нам – сделайте свой вклад в развитие проекта.