Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБОРАТОРНАЯ РАБОТА 5.doc
Скачиваний:
49
Добавлен:
13.02.2016
Размер:
910 Кб
Скачать
☆

Использование функции dLookup

Функция DLookup выполняет поиск информации в еще не открытых таблицах. Синтаксис:

DLookup("[Поля, которые нужно отобразить]","[Таблица представления]","<Критерий поиска>"),

где Таблица представления - таблица, в которой находятся искомые поля.

Критерий поиска имеет следующий формат :

"[Поле в таблице]" = '<Пример данных>' .

'<Пример данных>' обычно представляется в виде символьной константы. Если же данные являются полем в таблице, то необходимо использовать синтаксис "&[Поле в рассматриваемой таблице]&"

При вводе названий полей и критериев для функция DLookup() запрещено использовать пробелы. Эту функцию можно использовать в процедурах VBA и в запросах для отбора данных. Если поле таблицы является текстовым, то его нужно заключать в одинарные кавычки.

Внутренние константы

Помимо констант, которые поставляются вместе с Access, можно использовать любые константы из библиотек DAO и VBA. Внутренние константы всегда доступны. Имена внутренних констант имеют приставку из двух букв, указывающую на их принадлежность к библиотеке. Константы Access начинаются с букв ac, константы DAO - с букв db, а константы VBA - с букв vb. Например, константа dbOpenTable открывает таблицу.

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

Технология работы Создание процедуры для проверки правильности вводимой даты

  1. Откройте форму Заказы в режиме конструктора.

  2. Откройте свойства поля ДатаИсполнения.

  3. Щелкните по кнопке справа от свойства До обновления и выберите Процедуру обработки событий.

  4. Введите следующую процедуру, которая выводит сообщение о неверной дате,

Private Sub ДатаИсполнения_BeforeUpdate(Cancel As Integer)

If [ДатаИсполнения] < [ДатаРазмещения] Then

MsgBox "Дата исполнения не может быть раньше даты размещения"

Me![ДатаИсполнения].Undo

Cancel = True

End If

End Sub

С помощью метода Undo элемента управления происходит отмена изменения в поле и аргумент Cancel устанавливается равным True для отмены изменений в буфере записи.

  1. Проверьте работу процедуры, перейдя в режим формы. Введите неверную дату и нажмите Enter.

Создать функцию для автоматического установления скидки.

  1. Выберите вкладку Модули окна БД и нажмите Создать.

  2. Введите следующий фрагмент текста программы:

Function Disc (intQuantity As Integer) As Single

Select Case intQuantity

Case Is >= 1000

Disc = 0.5

Case Is >= 500

Disc = 0.4

Case Is >= 100

Disc = 0.3

Case Is >= 50

Disc = 0.2

Case Is >= 10

Disc = 0.1

Case Else

Disc = 0

End Select

End Function

  1. Выберите опцию меню Debug->Compile,

чтобы убедиться, что функция не содержит синтаксических ошибок.

  1. Выберите опцию меню View->Immediate Window (Окно отладки).

5. В окне отладки введите ? Disc(), поставив в скобки конкретное количество.

  1. Нажмите Enter и проверьте результат.

  2. Сохраните модуль, помня, что его имя не должно совпадать с именем функции.

  3. Откройте форму ЗаказанныйТовар в режиме конструктора.

  4. Убедитесь, что в свойстве Имя поля Количество задано Количество.

  5. В свойстве Данные поля Скидка напишите =Disc(NZ([Количество])).

  6. Проверьте работу функции, перейдя в режим формы.