Таблица «Продажи» является основной рабочей таблицей нашей БД, так как в двух других таблицах данные будут меняться, и дополняться реже. В таблице «Продажи», как уже отмечалось, хранятся только коды покупателя и товара и поэтому заполнение этой таблицы в режиме таблицы или с использованием только полей данной таблицы очень неудобно. Было бы гораздо удобней, если бы можно было просматривать список покупателей и выбирать нужного покупателя из этого списка, а таблицу «Продажи» вводить код выбранного покупателя. Точно также и с товаром. Создать такую форму для редактирования и ввода данных в таблицу «Продажи» можно, если использовать элемент «Поле со списком» или «Список» из панели элементов. Эти элементы отображают на экране какой-то список, из которого можно выбрать значения для ввода в поле, с которым этот элемент связан. Список значений, который появляется в этих элементах, определяется одним из следующих средств:
· Список значений.
· Список полей.
· Значения поля таблицы или запроса.
Выбор одного из этих средств осуществляется заданием на закладке «Данные» свойства «Тип источника строк» элементов «Поле со списком» или «Список». Если свойство «Тип источника строк» имеет значение «Таблица/запрос», то в списке будут отображаться значения полей из таблицы или запроса, имя которой будет задано в свойстве «Источник строк». Количество полей записи, значения которых будут отображаться, определяется свойствами «Число столбцов» и «Ширина столбцов» закладки «Макет». Например, если нам надо с помощью элемента «Поле со списком» надо выбрать покупателя, а покупатели могут быть однофамильцами и тезками, то надо, чтобы в списке отображались и фамилия, и имя, и отчество. В таблице «Покупатели» поля «Фамилия», «Имя» и «Отчество», соответственно, второе, третье и четвертое поля. Поэтому свойство «Число столбцов» должно быть равным 4. Первое поле «Код покупателя» в этом списке отображаться не должно, поэтому ширину столбца для первого поля надо задать равным 0. Если число столбцов больше одного, то свойство «Ширина столбцов» задается перечислением через точку с запятой (например, 0;3;3;3). Ширину столбцов и ширину самого элемента надо подобрать так, чтобы значения выбранных полей отображались полностью. Свойство «Присоединенный столбец» закладки «Данные» определяет значение, какого поля будет внесено в текущую таблицу, для которой создана форма. Например, если с помощью элемента «Поле со списком» заполняется поле «Код покупателя» таблицы «Продажи» и при этом используются данные таблицы «Покупатели», то после выбора фамилии, имени и отчества покупателя в таблицу «Продажи» должен быть записан код покупателя. Так как в таблице «Покупатели» поле «Код покупателя» является первым полем, то свойство «Присоединенный столбец» должно быть равным 1.
Если свойство «Тип источника строк» имеет значение «Список значений», то в списке будут отображаться значения, которые будут перечислены в свойстве «Источник строк». Значения, которые хранятся в свойстве «Источник строк» должны быть перечислены через точку с запятой.
В качестве примера создания элемента «Поле со списком» рассмотрим создание формы для ввода данных в таблицу «Продажи». Для этого необходимо выполнить следующие действия:
1. С помощью мастера форм создать и отредактировать форму так, чтобы она имела вид показанный на рис.5.22.
2. Выбрать поле «Код покупателя» и вызвать его контекстное меню (нажать на правую кнопку мыши).
3. В меню выбрать команду «Преобразовать элемент в», а затем «Поле со списком». Microsoft Accessвыполнит преобразование (в правой части поля появится кнопка раскрытия списка).
4. Надо установить свойства нового объекта. Для этого надо перейти на закладку «Данные».
5. Данные о покупателях хранятся в таблице «Покупатели», поэтому свойство «Тип источника строк» надо установить на значение «Таблица/запрос», а для свойства «Источник строк» надо выбрать значение «Покупатели».
6. Так как в таблице «Покупатели» код покупателя первое поле, то свойство «Присоединенный столбец» должно быть равным 1.
7. Далее надо переключиться на закладку «Макет».
8. Как уже отмечалось, фамилии и имена покупателей могут совпадать, то надо, чтобы в списке отображалось полное имя покупателя (фамилия, имя
и отчество). Поэтому свойство «Число столбцов» должно иметь значение равное 4 (первый столбец «Код покупателя»).
9. Так как при просмотре списка покупателей код покупателе не нужен, то его надо скрыть. Поэтому в свойстве «Ширина столбцов» надо задать ширину для первого поля равным 0, т.е. 0;3;3;3. Кроме того, свойство «Ширина» должно быть не меньше суммы ширины всех полей.
На рис.5.23 показан элемент «Поле со списком» с раскрытым списком. В этой форме отображается список фамилий, имен и отчеств из таблицы «Покупатели», а в таблицу «Продажи» вводится код покупателя. Точно также можно создать элемент «Поле со списком» для поля «Код товара». Использование рассмотренного элемента позволяет создавать формы удобные для заполнения и просмотра содержимого таблиц, содержащих коды.