- •Программирование в ms Access. Часть 3. Программирование в формах
- •Обращение к элементам формы
- •Обзор основных свойств всех объектов формы
- •Свойства формы
- •Обзор основных методов формы
- •Обзор основных событий формы
- •Обзор основных элементов Надпись
- •Поле со списком
- •Подчиненная форма
- •Список некоторых свойств и их английские аналоги для справки
- •Группа переключателей
Обзор основных элементов Надпись
Элемент вывода статических данных.
Поле
Это элемент для ввода/вывода данных поля (ячейки) в/из текущей записи таблицы или запроса. Также служит для ввода/вывода данных, не связанных с таблицей.
Пример 4. Связь поля с таблицей программно и настройка масок ввода/вывода.
В конструкторе формы ФормаПрограммированиедобавить поле и присвоить ему имяПоле1.
В методе Openформы написать следующий код:
Me.RecordSource= "Клиенты"
Me.Поле1.ControlSource= "НазваниеКомпании"
Me.Поле1.InputMask= "LLL-LLL-LLL"
Me.Requery
Пример 5. Передача данных поля в Надпись с анализом работы методов.
В конструкторе формы ФормаПрограммирование найти свойствоИсточник записей и связать форму с таблицейКлиентыдобавить из списка полей на форму полеНазваниеКомпании. У Надписи добавленного поля изменить свойствоимянаНадписьКомпания, свойствоШиринана 4 см.
В методе ИзменениеполяНазваниеКомпаниинаписать следующий код:
If Trim(Me.НазваниеКомпании) <> "" Then
MsgBox CStr(Me.НазваниеКомпании)
Me.НадписьКомпания.Caption = "Текущее значение поля = " + Trim(CStr(Me.НазваниеКомпании))
Me.Repaint
End If
Задание 7.
Проверить работу примера 5. Перенести содержимое метода в метод Внесены изменения поля НазваниеКомпании. Проверить работу примера. Далее перенести код в методДо обновления и проверить работу метода, далее перенести код в методПосле обновления и проверить работу метода.
Задание 8.
Сделать форму с названием ПростейшаяМатематика, на которой расположить два поля, одно связано с числовым полем таблицы (по Вашему выбору), другое свободное. Присвоить им имена: Переменная1 и Переменная2, установить маски ввода для 6-ти значного числа с двумя знаками после запятой. Расположить также 4 Надписи с именами: Сумма, Разность, Произведение, Деление. Написать в новом модуле МодульМатематика процедуру, которая бы отображала в Надписи соответствующие результаты операций над значениями полей по образцу «Сумма переменных =число»,…. А у полей Переменная1 и Переменная2 в собитии(ях), связанных с проверкой на изменение значений установить команду запуска процедуры из вышеописанного модуля.
Поле со списком
Это элемент для ввода/вывода данных поля (ячейки) в/из текущей записи таблицы или запроса. С возможностью выбора вариантов данных, которые могут находиться в другой таблице или запросе.
Пример 6: Создать фильтр на форме по значению, которое выбирается из поля со списком.
В конструкторе формы ФормаПрограммированиев разделе Примечание добавить поле со списком и изменить его свойствоИмя наПолеСоСписком0. Настроить поле со списком так, чтобы он отображал данные по полюНазваниеКомпании, обратите внимание, чтобы в списке был только один столбец, т.е. свойства должны хранить следующие значения:
Число столбцов– 1
Ширина столбцов– 3см
Источник данных– SELECT Клиенты.НазваниеКомпании FROM Клиенты;
Добавить на форму две кнопки, одна будет именоваться «Включить фильтр», другая «Отключить фильтр».
В событии формы Открытие написать код:
Me.ПолеСоСписком0.DefaultValue = ""
В методе Нажатие кнопки для кнопки «Включить фильтр» написать код:
If Not (Me. ПолеСоСписком0= "") Then
Me.Filter= "НазваниеКомпании = ' " &CStr(Me.ПолеСоСписком0) & " ' "
Me.FilterOn=True
EndIf
В методе Нажатие кнопки для кнопки «Отключить фильтр» написать код:
Me.FilterOn = False
Задание 9.
Выполнить пример 6. Проверить его работы, предварительно заполнив таблицу Клиенты несколькими записями. Сделать аналогичный фильтр по полю КодКлиента, с условием выводить все записи у которых КодКлиента больше или равен указанному.
*************
Список - аналогичен по действию с элементом поле со списком, только не позволят вводить данные, которых нет в списке.
