Глава 6
Рис. 6.6.
Запрос — источник записей основной формы ДОГОВОРЫ С ПОКУПАТЕЛЯМИ
Рис. 6.7.
Запрос — источник записей подчиненной формы ПЛАН ПОСТАВОК
Однако проще щелкнуть в области
Список полей
(Field List) на значке
Показать
все таблицы
(Show All tables). В разделе
Поля, доступные в данном представле-
нии
(Fields available for this view) отобразятся все поля таблиц, включенных в под-
схему данных формы (основной или подчиненной). Кроме того, в других разделах
отобразятся остальные таблицы базы данных. Перетаскивая поля из любого раздела
области, вы автоматически меняете запрос источника записей формы. Для отобра-
Разработка интерфейса для ввода, просмотра и корректировки документов
267
жения этого запроса в графическом виде также можно не открывать окно свойств и
затем построитель запросов. Достаточно выполнить команду
Изменение источни-
ка записи
(Edit Record Source) в контекстном меню области
Список полей
(Field
List).
Проверьте связь подчиненной формы с главной. Для этого откройте свойства под-
чиненной формы, предварительно выделив ее рамку. В свойствах
Подчиненная
форма/отчет
(Subform/Subreport) на вкладке
Данные
(Data) в строке
Подчинен-
ные
поля
(Link Child Fields) указано имя поля связи
НОМ_ДОГ
из подчиненной таб-
лицы ПОСТАВКА_ПЛАН, в строке
Основные
поля
(Link Master Fields) указано
имя поля связи — в данном примере тоже
НОМ_ДОГ
из главной таблицы ДОГОВОР.
Создание кнопок
Дополните форму новыми элементами управления — кнопками. Создайте в облас-
ти заголовка основной формы кнопки для перехода к следующему и предыдущему
договору (т. е. для перехода к другой записи источника основной формы таблицы
ДОГОВОР).
В режим конструктора нажмите в группе
Элементы
управления
(Controls) кнопку
Использовать
мастера
(Use Control Wizards), а затем
Кнопка
(Button). Не отпус-
кая курсора, перенесите кнопку в нужное место и вычертите ее рамку. Запустится
мастер создания кнопок (Command Button Wizard) (рис. 6.8).
Рис. 6.8.
Окно мастера создания кнопок
В окне мастера кнопок в группе
Категории
(Categories) выберите строку
Переходы
по записям
(Record Navigation), в группе
Действия
(Actions) — действие, которое
должно выполняться при нажатии кнопки
Предыдущая запись
(Go to Previous
Record). В следующем диалоговом окне мастера выберите вид кнопки с текстом на
ней
Текст
(Text) или с рисунком
Рисунок
(Picture) и выберите рисунок из списка.
268
Глава 6
После завершения работы мастера кнопка с выбранным текстом или рисунком
встраивается в форму. Аналогичные действия произведите для встраивания кнопки
перехода к следующей записи, выбрав соответственно в области
Действия
(Actions) —
Следующая запись
(Go to Next Record). Размер и надписи кнопок ре-
дактируются, как и другие элементы.
Создайте кнопку для закрытия формы.
Отредактированная форма в режиме просмотра приведена на рис. 6.9.
Рис. 6.9.
Отредактированная форма документа "Договор" в режиме просмотра
Ограничение доступа к данным таблиц
Поля таблиц справочной информации ПОКУПАТЕЛЬ и ТОВАР должны использо-
ваться в форме только для отображения. Поэтому целесообразно защитить их от
непроизвольных изменений при работе с формой. В основной форме такая защита
нужна для полей таблицы ПОКУПАТЕЛЬ (
НАИМ_ПОК
,
ИНН
,
АДРЕС
и др.), в подчинен-
ной форме для полей таблицы ТОВАР (
НАИМ_ТОВ
,
ЦЕНА
и др.).
Для защиты поля выделите его (можно выделить несколько полей) и откройте окно
свойств. В окне свойств на вкладке
Данные
(Data) в строке
Блокировка
(Locked)
выберите
Да
(Yes). После установки этого свойства поле доступно только для
чтения.
Разработка интерфейса для ввода, просмотра и корректировки документов
269
Если необходимо установить режим, при котором возможно только добавление но-
вых договоров в базу данных и запрещен просмотр существующих договоров, от-
кройте свойства формы ДОГОВОРЫ С ПОКУПАТЕЛЯМИ и на вкладке
Данные
(Data) в строке
Ввод
данных
(Data Entry) выберите значение
Да
.
Создание полей со списком
Как уже было сказано ранее, при загрузке договоров через разработанную форму
обязательно должны вводиться ключевые поля таблиц — объектов загрузки и клю-
чи связи с таблицами справочных данных. Для удобства ввода значений в поля свя-
зи целесообразно соответствующие элементы управления создавать как
Поле со
списком
(Combo Box). Поле со списком объединяет поле формы, в которое нужно
ввести данное, и список отображаемых записей из связанной главной таблицы.
В списке можно выбрать нужное значение и ввести его в поле формы (рис. 6.10).
Поле ввода кода покупателя
в таблицу ДОГОВОР
Список записей из таблицы
ПОКУПАТЕЛЬ
Рис. 6.10.
Поле со списком записей справочной таблицы ПОКУПАТЕЛЬ
для ввода кода в запись таблицы ДОГОВОР
При этом повышается достоверность вводимой информации и снижается вероят-
ность ошибок при вводе. Отображение данных из справочных таблиц при вводе
идентификатора обеспечивает ввод в поле связи загружаемой подчиненной записи
только тех значений, которые присутствуют в записях главной таблицы, что необ-
ходимо для успешного завершения ввода при установленном параметре целостно-
сти в схеме данных.
Создайте с помощью мастера поле со списком для ввода в таблицу ДОГОВОР
только тех значений кода покупателя
КОД_ПОК
(рис. 6.10), которые есть в таблице
270
Глава 6
ПОКУПАТЕЛЬ. Так как сразу после ввода кода покупателя через поле со списком
в форме отобразятся все реквизиты покупателя, проверьте соответствие кода и на-
именования покупателя в документе "Договор".
Создание поля со списком мастером
В открытой в режиме макета или конструктора форме нажмите в группе
Элементы
управления
(Controls) кнопку
Использовать
мастера
(Use Control Wizards), а за-
тем кнопку
Поле со списком
(Combo Box), переместите курсор в нужное место,
нажмите кнопку мыши и, не отпуская ее, вычертите рамку элемента. После отпус-
кания кнопки мыши запустится мастер и откроет диалоговое окно
Создание полей
со списком
(Combo Box Wizard).
В окне мастера определите способ, которым список поля получает свои значения.
Для формирования списка из связанной таблицы выберите —
Объект "поле со
списком" получит значения из другой таблицы или другого запроса
(I want the
combo box to look up the values in a table or query)
(рис. 6.11).
Рис. 6.11.
Выбор способа формирования списка
В следующем окне выберите таблицу ПОКУПАТЕЛЬ, которая будет поставлять
значения в список поля (рис. 6.12).
Затем выберите ключевое поле
КОД_ПОК
, а также поле
НАИМ_ПОК
для отображения
кода и наименования в строках списка (рис. 6.13).
В следующем окне мастера, если необходимо, выберите порядок сортировки, далее
настройте ширину столбцов списка и вариант с отображением ключевого столбца
(рис. 6.14).
Разработка интерфейса для ввода, просмотра и корректировки документов
271
Рис. 6.12.
Выбор источника данных для формирования списка
Рис. 6.13.
Выбор полей для формирования записи списка
Далее выберите поле списка
КОД_ПОК
, являющееся ключом связанной таблицы
ПОКУПАТЕЛЬ. Из этого поля будет выбираться значение для ввода в поле формы
и сохранения его в записи таблицы ДОГОВОР (рис. 6.15).
В следующем окне (рис. 6.16) отметьте переключатель
Сохранить в поле
(Store
that value in this field) и выберите поле формы
КОД_ПОК
(поле таблицы ДОГОВОР),
в которое будут вводиться значения из списка.
272
Do'stlaringiz bilan baham: |