Файл: Е.А. Бессонов Access. Объекты доступа к данным.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 31.05.2024

Просмотров: 28

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

18

End If Next

End Sub

В процедуре используется форма обращения Me к форме, в модуле которой расположена данная процедура обработки события. Цикл For перебирает все элементы управления формы, пронумерованные от нуля до Me.Count - 1. У каждого элемента управления проверяется его свойство Tag (дополнительные сведения). Если в дополнительные сведения записана единица, то свойству DefaultValue (значение по умолчанию) присваивается значение Value этого элемента (Me(i)). Значением свойства DefaultValue должен быть текст. Правая часть оператора присваивания должна быть заключена в кавычки. Для представления текста в виде кавычек нужно повторить кавычки 4 раза (пара кавычек в кавычках), так как в текстовой строке для представления кавычек используют пару кавычек.

Если для поля в таблице или для элемента управления формы в режиме конструктора устанавливается свойство “Значение по умолчанию”, MS Access при выводе новой записи в форме автоматически вставляет значение этого свойства в данное поле или в данный элемент. Присваивание свойству “Значение по умолчанию” в режиме конструктора полезно в том случае, если нужно использовать некоторое значение во всех новых записях или применить выражение, включаемое во все новые записи. Так, если это свойство содержит выражение =Date(), то в данном элементе управления всегда будет выводиться текущая дата. Чтобы указать, что мы имеем дело не с выражением или именем поля, обычный текст заключается в кавычки.

Процедура обработки событий Form_AfterUpdate при каждом обновлении формы проверяет свойство Tag каждого элемента управления. Чтобы текущее значение элемента управления стало значением по умолчанию, нужно перейти в режим конструктора и установить его свойство “Дополнительные сведения” в единицу. Процедура Form_AfterUpdate облегчает ввод данных в поле, значения в котором от записи в записи редко изменяются.

Пример 9

Sub Должность_AfterUpdate()

Dim rst As Recordset

19

Dim Критерий As String, k As Integer

Критерий = “Должность = “”” & Должность & “””” Set rst = Me.RecordsetClone

rst.FindLast Критерий If Not rst.NoMatch Then

For k = 0 To Me.Count – 1 If Me(k).Tag = “1” Then

Me(k).Value = rst (Me(k).Name) End If

Next End If End Sub

В данном примере используется другой метод облегчения ввода данных путем поиска информации в некоторой записи и копирования ее данных в новую запись..

Критерий поиска записи представляет собой строку и заключен в кавычки. Сам критерий имеет форму равенства. Справа и слева от знака равенства – поле Должность. Правая Должность заключена в кавычки и в процессе поиска остается неизменной. Это название должности, которое введено в соответствующее поле новой записи.

Метод FindLast находит последнюю запись, в которой та же должность, что и только что введенная. Если запись с такой же должностью найдена, цикл For обеспечивает просмотр всех элементов управления формы. Если свойство Tag содержит единицу, выполняется присваивание свойству Value этого элемента результата вычисления выражения rst(frm(k).Name). В этом выражении используется элемент строки базового набора, найденной методом FindLast. Значение этого поля присваивается соответствующему элементу новой записи.

Пусть, например, базовая таблица имеет вид

Пре-

Фамилия

Степень

Звание

Должность

пода-

ватель

 

 

 

 

 

 

1

Блохин

 

 

Ассистент

2

Тараканов

Д.т.н

Доцент

Профессор

3

Комаров

К.т.н

Доцент

Доцент

4

Бабочкин

Д.т.н

Профессор

Профессор

5

Шмелев

К.т.н

 

Ст.преподаватель

6

 

К.т.н

Доцент

Доцент

 

 

 

 

 

 

 

 

 

 

 



20

. Элемент управления Должность представляет собой раскрывающийся список со свойствами:

Имя элемента управления

Должность

Данные

Должность

Тип источника строк

Список значений

Источник строк

Ассистент; Ст.преподаватель;

 

Доцент; Профессор

Число столбцов

1

Заглавия столбцов

Нет

Связанный столбец

1

Уполей Степень и Звание в свойство Tag записана единица.

Вновой строке из раскрывающегося списка выбрана должность “Доцент”. Степень и звание автоматически вставлены из строки 3 (это последняя строка с такой должностью). В новую строку осталось ввести только номер преподавателя и фамилию.

Пример 10

Sub Form_Timer() Dim db As Database Dim R As RecordSet

Set db = DBEngine.WorkSpaces(0).Databases(0) Set R = db. OpenRecordSet (“Заставка”)

If Me.TimerInterval <> 0 Then

If R.Fields(“Отображать”).Value = 0 Then DoCmd.OpenForm “Введение”

Else

DoCmd.OpenForm “Счет” End If

End If

R.Close

DoCmd.Close A_Form, “Заставка” End Sub

Обычно при открытии БД вначале выводится специальная заставка. Это можно обеспечить командой Сервис|Параметры запуска, которая открывает диалоговое окно, содержащее поле для ввода имени формызаставки.

Процедура обработки события Form_Timer установлена в модуле формы “Заставка”. Заставка выводится кратковременно со сведениями

21

о правах интеллектуальной собственности, эмблеме и т.п. Затем открывается форма Введение, содержащая более подробные сведения о приложении.

Закрытие формы Введение приводит к запуску формы, с которой и ведется основная работа (в рассматриваемом примере это форма Счет). Для этого необходимо свойству Закрытие формы Введение присвоить процедуру обработки события

Private Sub Form_Close()

DoCmd.OpenForm(“Счет”) End Sub

Для закрытия формы Введение можно установить кнопку с помощью мастера кнопок.

Вывод формы Введение можно отменить и сразу перейти к форме Счет. Для этого на форме Введение следует установить флажок с подписью “Не отображать введение”. Для запоминания состояния флажка служит таблица Заставка с одним полем “Отображать” логического типа.

Инструкция Set устанавливает переменную R на таблицу Заставка. Внешняя инструкция If проверяет значение свойства формы TimerInterval (Интервал таймера). Если оно не равно нулю, выполняется внутренняя инструкция If. В ней проверяется состояние поля “Отображать” таблицы Заставка. Если в нем записано Нет (флажок “Не отображать введение” не установлен), то с помощью метода OpenForm открывается форма Введение. Если флажок установлен, открывается форма

Счет.

Задание

При разработке учебной базы данных самостоятельно составить и отладить процедуру с использованием объектов доступа к данным.

Список рекомендуемой литературы

Бессонов Е.А. Access. Программирование на языке SQL: Методические указания к лаб. работе/ КузГТУ. Кемерово,2001.

Бессонов Е.А. Access. Пользовательские функции: Методические указания к лаб. работе/ КузГТУ. Кемерово,2002.

Бессонов Е.А. Access. Объекты и события: Методические указания к лаб. работе/ КузГТУ. Кемерово, 2002.


Составитель

Евгений Александрович Бессонов

ACCESS

Объекты доступа к данным

Методические указания к лабораторной работе для студентов специальности “Экономика и управление на предприятиях ” по курсу “Автоматизация экономических расчетов”

Редактор Е.Л.Наркевич НД № 06536 от 16.01.02.

Подписано в печать 21.11.01.

Формат 60х84 /16. Бумага офсетная. Отпечатано на ризографе. Уч.-изд.л. 1,3. Тираж 50 экз. Заказ ГУ Кузбасский государственный технический университет. 650026, Кемерово, ул. Весенняя, 28.

Типография ГУ Кузбасский государственный технический университет. 650099, Кемерово, ул. Д. Бедного, 4А