Диго С.М. Базы данных проектирование и использование (1084447), страница 55
Текст из файла (страница 55)
Создаваемый запрос будет зависеть от того, только столбец подстановки будет выводиться на экран или еще и поясняющий его столбец, т.е. в нашем примере столбец «Код_кафедры» и «Наименование_кафедры_полное». В этом случае запрос примет вид, представленный на рис. 8.16.
Кроме того, может потребоваться изменение свойств «Число столбцов» и «Ширина столбцов».
Как видим, при отсутствии навыков такое преобразование является не совсем тривиальным.
Можно воспользоваться и другим вариантом «преобразования» типа элемента, а именно удалить элемент из формы и создать его заново, выбрав на панели элементов элемент нужного типа.
Если вы работаете с версией Access, позволяющей при создании таблицы определять поле подстановки, то лучше воспользоваться этой возможностью.
Создание форм, состоящих из нескольких страниц
Существует несколько причин, по которым бывает необходимо/ целесообразно разнести данные, размещаемые в экранной форме, по нескольким страницам. Это может быть в случае, когда элементов в форме много и размещение всех их на одном экране слишком загромождает его; либо может быть вызвано желанием сгруппировать поля и показывать каждую группу отдельно и др. Для достижения этих целей можно, воспользовавшись элементом управления Разрыв страницы, указать, в каких местах должен быть переход на следующую страницу, или создать форму с несколькими вкладками (рис. 8.17).
Элемент управления Разрыв страницы используется для указания горизонтальных разрывов между элементами управления в форме. Для перехода к странице, находящейся над или под указанным разрывом, используются клавиши [Page up] или [Page down].
Для того чтобы создать форму с несколькими вкладками, можно воспользоваться элементом управления Набор вкладок.
При выборе этой возможности в форме создаются две вкладки. В каждую из них можно переместить необходимые элементы. Если требуется создать большее число вкладок, то следует, находясь в зоне вкладок, нажать правую клавишу мыши и в появившемся контекстном меню выбрать позицию Добавить вкладку (рис. 8.18). Для включения элементов нужно выбрать необходимую вкладку и щелкнуть по кнопке Список полей на панели инструментов. Из появившегося ниспадающего списка следует выбрать имя нужного поля, позиционировавшись на нем, нажать левую клавишу мыши и, не отпуская ее, переместить элемент в нужное место вкладки.
Для того чтобы изменить название вкладки, необходимо воспользоваться правой кнопкой мыши, в появившемся контекстном меню выбрать позицию Свойства и в свойстве «Имя» записать требуемое название (рис. 8.19).
Последовательность обхода полей
Последовательность обхода полей при работе с формой может отличаться от их расположения на экране. Для установления этой последовательности можно, позиционировавшись на заголовок окна формы в режиме Конструктор, нажать на правую клавишу мыши. При этом появится всплывающее окно (рис. 8.20), в котором следует выбрать позицию Последовательность перехода....
После этого на экране появится окно (рис. 8.21), в котором перечислены поля, включенные в форму (если форма содержит несколько вкладок, то будут выводиться только те элементы, которые включены в активную вкладку).
Затем поля формы следует разместить в нужной последовательности. Если речь идет о формах, используемых для ввода данных, то желательно, чтобы последовательность обхода полей совпадала с расположением соответствующих реквизитов в документе, который используется в качестве источника данных.
Свойства формы
Кроме свойств, присущих каждому отдельному элементу формы, имеются свойства, относящиеся ко всей форме. Их можно с успехом использовать для создания дополнительных удобств при работе с формой, для обеспечения целостности базы данных и других целей. Для того чтобы посмотреть/скорректировать свойства формы, надо открыть форму в режиме Конструктор и двойным нажатием кнопки мыши на области выделения формы открыть окно свойств формы. Перечень свойств формы обширен. Рассмотрим некоторые из них. Так, на вкладке Данные (рис. 8.22) имеется свойство «Ввод данных». Если выбрать для него значение Да, то можно создать форму, использующуюся только для ввода данных. В этом случае в форме будет высвечиваться одна пустая запись, в которую можно вводить новые данные. Если нужно, чтобы выводились все записи, значение этого свойства должно быть Нет.
Можно, напротив, создать форму только для просмотра, запретив все корректировки.
Задание ограничений целостности при создании форм
Ограничения целостности можно задавать не только при описании базы данных, но и при создании экранных форм, предназначенных для ввода данных. Для элемента управления, соответствующего полю, можно задать свойство «Условие на значение» (ValidationRule). Условие для элемента управления не отменяет условие для поля, которое было задано при создании таблицы, поэтому при задании ограничений целостности необходимо следить, чтобы они не противоречили друг другу. Следует иметь в виду, что ограничения целостности, заданные для поля при описании таблиц, действуют всегда, а ограничения, заданные при создании экранной формы, - только при использовании этой формы для ввода информации.
Для элемента управления, в который осуществляется ввод данных, можно создать маску ввода и условие на значение.
Чтобы предотвратить ввод данных, можно заблокировать соответствующий элемент управления, задав значение свойства «Доступ» - «Нет». В этом случае содержимое поля будет видно на экране, но изменить его будет нельзя.
Добавление кнопок в форму
Важным элементом формы является Кнопка. К кнопкам привязываются определенные действия, которые выполняются при щелчке по этой кнопке.
Для того чтобы включить кнопку в форму, можно воспользоваться элементом Кнопка на панели элементов. Для этого надо выделить этот элемент, щелкнув по нему левой кнопкой мыши, после чего позиционироваться на том месте формы, где предполагается расположить кнопку, и опять нажать левую кнопку мыши - кнопка появится на экране.
После этого следует, позиционировавшись на этой кнопке, нажать правую кнопку мыши и в появившемся контекстном меню выбрать позицию Свойства. Кнопка имеет большой набор свойств (рис. 8.23). Набор этих свойств так велик, что весь не умещается на экран. Рассмотрим некоторые из этих свойств.
В свойстве кнопки «Подпись» можно задать подпись, которая появится на кнопке. Например, если в этом свойстве записать «закрытие формы», то кнопка примет вид, изображенный на рис. 8.24.
Вместо подписи на кнопке можно поместить рисунок. Для этого необходимо позиционироваться на строке, соответствующей свойству «Рисунок », щелкнуть по кнопке с многоточием и в появившемся окне Рисунки (рис. 8.25) выбрать подходящий рисунок из списка или найти его на диске (воспользовавшись кнопкой Обзор ...).
Если выбрать рисунок Закрытие формы, то кнопка будет иметь вид, представленный на рис. 8. 26.
Далее необходимо поставить в соответствие кнопке действие, которое будет выполняться при щелчке по этой кнопке. Для этого можно, например, выбрать свойство «Нажатие кнопки». Щелкнув по кнопке с многоточием в этой строке, попадаем в окно Построитель (рис. 8.27). Для своей кнопки выберем позицию Макросы, затем - макрокоманду Закрыть, указав при этом тип и имя объекта (рис. 8.28).
Для создания кнопки можно воспользоваться и Мастером кнопок. Для этого кнопка Мастер на панели элементов должна быть нажата. В этом случае при использовании элемента Кнопка откроется окно Создание кнопок (рис. 8.29). В появившемся окне можно выделить несколько зон. Прежде всего это два списка: Категории (фактически означающие группы действий) и Действия, относящиеся к каждой из этих категорий. Слева высвечивается рисунок, соответствующий выбранному действию.
На следующем шаге дается возможность уточнить выбор рисунка или задать надпись на кнопке, после чего следует задать имя кнопки.
8.3.4. Кнопочная форма
Кнопочная форма - это форма, открывающая другие формы или отчеты базы данных. В англоязычном варианте используется название «switchboard», что в дословном переводе означает «коммутационная панель». Такое определение больше отражает суть создаваемого объекта. Кнопочную форму можно создать, используя описанные выше приемы включения кнопок в форму, а можно воспользоваться специальной служебной программой Диспетчер кнопочных форм. Для того чтобы запустить эту программу, в меню Сервис выберите команду Служебные программы, затем - Диспетчер кнопочных форм.
Если кнопочная форма создается в данном приложении впервые, то выдается сообщение «Не удается найти кнопочную форму в этой базе данных. Создать кнопочную форму?», на которое следует ответить Да, после чего появится окно Диспетчер кнопочных форм (рис. 8.30).
Первоначально кнопочная форма не содержит никаких элементов. Для того чтобы продолжить работу по созданию кнопочной формы, необходимо сначала концептуально определить, как будет выглядеть наша кнопочная форма. Если это будет одноуровневая форма, которая включает кнопки, соответствующие конечным действиям, то следует щелкнуть по кнопке Изменить... и внести в нее необходимые элементы. Если создаваемый интерфейс будет многоуровневым, при котором выполняемые функции будут сгруппированы и каждая группа кнопок будет размещаться на отдельной странице кнопочной формы, то необходимо создать эти дополнительные страницы с помощью кнопки Создать.... Предположим, что мы хотим сгруппировать выполняемые функции и создать три кнопочные формы второго уровня: «Ввод данных», «Корректировка данных» и «Отчеты». Создадим эти новые страницы, воспользовавшись кнопкой Создать... -появится окно Создание (рис. 8.31), в котором следует задать имя новой страницы кнопочной формы.
После создания трех требуемых нам страниц диалоговое окно Диспетчер кнопочных форм приобрело вид, представленный на рис. 8.32.