Кузин А.В., Левонисова С.В. Базы данных (5-е издание, 2012) (1084448), страница 27
Текст из файла (страница 27)
3.9СвойствоПанель инструментов(Toolbar)Описаниеотчета. Значение данного свойства можноустановить в режиме конструктора форм,выбрав панель инструментов из списка.В программе VBA значением данного свойства является строковое выражение, содержащее имя требуемой панели управленияПерехват нажатияклавиш (KeyPreview)Позволяет реализовать перехват нажатияклавиш клавиатуры путем присвоениязначений Да (True) и Нет (False)Поле номера записи(NavigationButtons)Определяет вывод на экран поля номеразаписи: Да (True) или Нет (False)Полосы прокруткиОпределяет вид выводимых на экран полоспрокрутки формы (или поля):0 — Отсутствуют;1 — Только по горизонтали',2 — Только по вертикали-,3 — Все(ScrollBars)Применение фильтров(AllowFilters)Задает возможность применения фильтровв форме: Да (True) и Нет (False)Разрешить добавление(AllowAdditions)Определяет, может ли пользователь добавлять записи в форме: Да (True) и Нет (False)Разрешить изменение(AllowEdits)Устанавливает возможность изменения пользователем записи в форме: Да (True) и Нет(False)Разрешить удаление(AllowDeletions)Задает возможность пользователю удалятьзаписи в форме: Да (True) и Нет (False)Строка меню (MenuBar)Определяет строку меню, используемую вMS Access при открытии данной формы.Значением данного свойства является строка, определяющая имя используемой строки менюКонтекстное менюОпределяет возможность отображенияконтекстного меню при щелчке на формеправой кнопкой мыши.
Если значениеданного свойства равно Да (True), токонтекстное меню выводится, а если Нет(False) — не выводится(SnortcutMenu)Контекстное меню(ShortcutMenuBar)Определяет контекстное меню, открываемое при щелчке правой кнопкой мыши наформе или элементе управления. Значени139Окончание табл. 3.9ОписаниеСвойствоКонтекстное меню(ShortcutMenuBar)ем данного свойства является строка, представляющая собой имя контекстного менюТип набора записейОпределяет тип набора записей формы:0 — Динамический набор (Dynaset);1 —Динамический набор ((Dynaset) (Inconsistent Updates))'2 — Статический набор (Snapshot).Первые два типа набора записей позволяютизменять данные в полях, присоединенныхк элементам управления, а последний непозволяет(RecordSetType)Фильтр (Filter)Определяет фильтр, используемый в форме.Его значением является строка, представляющая собой фильтрЦикл табуляции (Cycle)Определяет действия, выполняемые принажатии клавиши [Tab]:0 — Все записи (All Records);1 — Текущая запись (Current Record);2 — Текущая страница (Current Page)Методы формФормы имеют несколько методов.
Приведем их названия и рассмотрим назначение.1. Метод DefaultControl возвращает объект, предназначенныйдля установки свойства по умолчанию заданному типу элементовуправления на форме или отчете. Например, перед созданием текстового поля на форме этому полю можно установить свойства,задаваемые по умолчанию.2. Метод Recalc немедленно обновляет все вычисляемые элементы управления формы.
Данный метод применяют, если былиизменены значения в полях, от которых зависят значения вычисляемых элементов управления.3. Метод Refresh немедленно обновляет записи источника данных формы, чтобы отобразить сделанные пользователями изменения в многопользовательской среде. Однако этот метод не выполняет отбор записей заново, т. е. не формирует повторный запрос к базе данных. При этом отображаются только изменения,внесенные в текущий набор записей и не отображаются данные,добавленные или удаленные из базы данных после последнего обновления набора записей. Для выполнения нового отбора записейследует использовать метод Requery.1404.
Метод Repaint завершает все отложенные обновления экранадля указанной формы. Одновременно он завершает отложенныеоперации перерасчета элементов управления формы. Данный метод применяется при изменении значений нескольких полей втом случае, когда эти значения влияют на значения других полей,что важно, так как в окне MS Access изменения могут отображаться не сразу.Следует обратить внимание на разницу между методами Repaintи Refresh. Метод Repaint не обновляет данные, отображаемые наэкране, он обновляет только изображение на экране.5. Метод Requery обновляет данные, служащие источником данных формы или элемента управления на активной форме.
Данныеобновляются путем повторного запроса к источнику данных формы или элемента управления. Таким образом, этот метод позволяет отображать текущие данные в форме или элементе управления.Использование метода Requery предполагает выполнение одного из следующих действий:повторное выполнение запроса формы или элемента управления;вывод всех добавленных или измененных записей и уборка записей, удаленных из базовой таблицы формы или элемента управления;обновление выводимых в форме или элементе управления записей в соответствии с изменением свойства Фильтр (Filter) формы.Если фокус имеет подчиненная форма, то обновляется толькоее источник данных, но не источник данных основной формы.6. Метод SetFocus устанавливает фокус на указанные формуили элемент управления активной формы. Данный метод используется, например, в том случае, если необходимо узнать значениесвойства Text элемента управления Поле (TextBox), так как поледолжно иметь фокус.Фокус можно перевести только на видимый и доступный элемент управления или видимую форму.7.
Метод Undo восстанавливает измененные значения элементауправления или формы. Этот метод можно использовать, например, в случае, когда запись имеет поля, в которые введены недопустимые значения:object.UndoПрименение данного метода к элементу управления приводитк потере изменений в этом элементе. В случае применения этогометода к форме будут потеряны изменения в текущей записи.Применение метода Undo имеет смысл только до обновленияэлемента управления или формы. Обычно его используют в про141цедурах обработки событий До обновления (BeforeUpdate) для формы и Изменение (Change) для элемента управления.Пример ЗЛО. Вариант создания новой формы и определение ее свойств:Sub NewForm()Dim frm As Form1Создает новую формуSet frm = CreateForm1Задает значения свойств формыWith frm.RecordSource = "Товары".Caption = "Форма Товары".ScrollBars = О.NavigationButtons = TrueEnd With'Восстанавливает окно формыDoCmd.RestoreEnd SubКоллекция AllForms содержит объекты AccessObject для каждой формы в объектах CurrentProject или CodeProject.
Таким образом данная коллекция содержит все формы, содержащиеся в базеданных.Работа с элементами управленияЭлементы управления в MS Access имеют некоторые характерные особенности. У большинства элементов управления таких, какПоле (TextBox), Поле со списком (ComboBox), Переключатель(R adioB utton), Флажок (C heckB ox), есть свойство Данные(ControlSource), которое определяет, какие данные выводятся вэлементе управления, т.
е. при изменении или введении данных вполе изменятся и данные в соответствующей таблице базы данных.Для работы с элементами управления следует использоватьколлекцию Controls и объект ControlКоллекция Controls содержит все элементы управления формы, отчета, раздела формы или отчета, а также элементы управления, расположенные на другом элементе управления (например, элемент управления Набор страниц (MultiPages) может иметьтакую коллекцию) или присоединенные к другому элементу управления. Таким образом, коллекция Controls встроена в объектыForm, Report, Section и Control.Для работы с элементами управления раздела формы или отчета можно использовать свойство Section, которое позволяетполучить ссылку на нужный объект Section, а потом уже сослать142ся на конкретный элемент управления, содержащийся в коллекции Controls данного раздела.Чтобы сослаться на конкретный элемент управления, можноиспользовать следующую инструкцию:Forms!Form.Controls[ControlЗдесь Control — имя элемента управления, на который необходимо сослаться.Имена элементов управления в формах принято начинать споследовательности символов ctl.Коллекция Controls не имеет методов, позволяющих добавитьэлемент управления или удалить его.
Чтобы добавить элемент управления, можно воспользоваться функцией CreateControl, которая создает его в указанной форме.Объект Control представляет собой элемент управления в форме или разделе формы, присоединенный к другому элементу управления или находящийся внутри него. Все объекты Control являются элементами коллекции Controls соответственно объектовForm и Report.Элементы управления раздела являются элементами коллекции Controls этого раздела. Элементы управления, находящиесявнутри группы переключателей, принадлежат коллекции Controlsэтой группы.
Элемент управления Надпись (Label), присоединенный к элементу управления, принадлежит коллекции Controls этогоэлемента управления.Каждый тип объекта Control обозначается одной из встроенных констант. Н апример, кнопка обозначается константойacCommandButton. Константы, определяющие тип элемента управления, представлены в табл. 3.10.Свойство ControlType определяет тип элемента управления,представляемого объектом Control. Значениями данного свойстваявляются константы, представленные в табл. 3.10.Свойство Column определяет конкретный столбец или комбинацию столбца и строки элемента управления (поля со спискомили списка). Синтаксис свойства Column имеет следующий вид:Control.Column(column,row)Элементы синтаксиса свойства Column представлены в табл.
3.11.Это свойство может использоваться, например, для присвоения значения указанного элемента списка значению поля илидругого элемента управления.Свойство Controls возвращает ссылку на коллекцию Controlsформы, подчиненной формы или раздела и обычно используется, когда необходимо сослаться на один из их элементов управле143Т а б л и ц а 3.10Константы, определяющие тип элемента управленияКонстантаЭлемент управленияacBoundObjectFrame Присоединенная рамка объекта (Bound Object Frame)acCheckBoxФлажок (Check Box)acComboBoxПоле со списком (Combo Box)acCommandButtonКнопка (Command Button)acCustomControlЭлемент управления ActiveX (Custom Control)aclmageРисунок (Image)acLabelНадпись (Label)acLineЛиния (Line)acListBoxСписок (ListBox)acObjectFrameСвободная рамка объекта или диаграмма (ObjectFrame)acOptionButtonПереключатель (Option Button)acOptionGroupГруппа переключателей (Option Group)acPageСтраница (Page)acPageBreakРазрыв страницы (Page Break)acRectangleПрямоугольник (Rectangle)acSubformПодчиненная форма или отчет (Subform)acTabQlНабор вкладок (Tab)acTextBoxТекстовое поле (Text Box)acToggleButtonВыключатель (Toggle Button)Т а б л и ц а 3.11Элементы синтаксиса свойства ColumnЭлементОписаниеControlОбязательный элемент.
Объект, представляющий собойАктивный список или Поле со спискомColumnОбязательный элемент. Целое число, указывающеестолбец в диапазоне от 0 до значения свойства минус 1RowНеобязательный элемент. Целое число, указывающее строку в диапазоне от 0 до значения свойства Е181Сошй минус 1144ния. Например, чтобы узнать число элементов управления формыКлиенты, можно использовать следующую запись:Forms("Клиенты").Controls.CountСвойство Form возвращает ссылку на форму или форму, ассоциированную с подчиненной формой. Обычно это свойство используется, чтобы сослаться на форму, содержащую подчиненную форму.