"[Поле в таблице]" = '<Пример данных>' .
'<Пример данных>' обычно представляется в виде символьной константы. Если же данные являются полем в таблице, то необходимо использовать синтаксис "&[Поле в рассматриваемой таблице]&"
При вводе названий полей и критериев для функция 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 для отмены изменений в буфере записи.
5. Проверьте работу процедуры, перейдя в режим формы. Введите неверную дату и нажмите Enter.
Создать функцию для автоматического установления скидки.
1. Выберите вкладку Модули окна БД и нажмите Создать.
2. Введите следующий фрагмент текста программы:
Function Disc (intQuantity As Integer) As Single
Select Case intQuantity
Case Is >= 1000
Disc = 0.5
Case Is >= 500
Disc = 0.3
Case Is >= 50
Disc = 0.2
Case Is >= 10
Disc = 0.1
Case Else
Disc = 0
End Select
End Function
3. Выберите опцию меню Debug->Compile,
чтобы убедиться, что функция не содержит синтаксических ошибок.
4. Выберите опцию меню View->ImmediateWindow (Окно отладки).
5. В окне отладки введите ? Disc(), поставив в скобки конкретное количество.
6. Нажмите Enter и проверьте результат.
7. Сохраните модуль, помня, что его имя не должно совпадать с именем функции.
8. Откройте форму ЗаказанныйТовар в режиме конструктора.
9. Убедитесь, что в свойстве Имя поля Количество задано Количество.
10. В свойстве Данные поля Скидка напишите =Disc(NZ([Количество])).
11. Проверьте работу функции, перейдя в режим формы.
1. В запрос – источник записей формы ЗаказанныйТовар дополнительновключите поля НаСкладе, МинимальноеКоличество и Ожидается.
2. Добавьте эти же поля в область данных формы Заказанный товар.
3. Предусмотрите выдачу надписи Недостаточный запас и дополнительное поле НеобходимоЗаказать.
4. Для свойства формы Текущая запись напишите процедуру :
Private Sub Form_Current()
If (Me![НаСкладе] + Me![Ожидается]) <= Me![МинимальныйЗапас] Then
Me![НаСкладе].ForeColor = 255
Me!НедостаточныйЗапас.Visible = True
Me!НедостаточныйЗапас.ForeColor=255
Else
Me![НаСкладе].ForeColor = 0
End If
End Sub
Если сумма значений в полях НаСкладе и Ожидается меньше, чем МинимальныйЗапас, то количество товара задается красным цветом в поле НаСкладе и выводится надпись Недостаточный запас. Если минимальный запас достаточен количество в поле НаСкладе выводится черным цветом, а надпись Недостаточный запас скрывается. Работа процедуры проверяется при курсоре, установленном в поле НаСкладе.
4. Добавьте при отключенном мастере элементов в форму ЗаказанныйТовар кнопку Заказать.
5. Для этой кнопки в списке свойств задайте имя и подпись Заказать.
6. В свойстве Нажатие кнопки напишите процедуру:
Private Sub Заказать_Click()
Me![НеобходимоЗаказать] = Me![Минимальный Запас]- (Me![НаСкладе] +
Me![Ожидается])
End Sub
7. В процедуру Текущая запись добавьте строку после ELSE
Me![НеобходимоЗаказать]=0
Создать процедуру для добавления записи в таблицу
1. Создайте форму, содержащую кнопку с именем НовыйТип.
2. В свойстве события кнопки Нажатие кнопки напишите следующую процедуру
Private Sub НовыйТип_Click()
Dim dbs As Database, rst As Recordset
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("Типы", dbOpenDynaset)
.AddNew
![Тип] = "Йогурты"
.Update
End With
dbs.Close
End Sub
3. Откройте форму и проверьте работу кнопки. Просмотрев таблицу Типы,
убедитесь , что запись добавлена.
4. В форму добавьте поле для ввода типа товара с именем Тип, проверьте,
если поле КодТипа таблицы Типы не является счетчиком , то нужно будет ввести еще одно поле в форму НовыйТип для ввода значений поля КодТипа
5. В процедуре исправьте строку ![Тип] = "Йогурты" на ![Тип] = Me![Тип].
6.
Рис.6.1 Форма для добавления нового типа.
Создать процедуру для удаления записи из таблицы
В форме для ввода нового типа создайте кнопку Отмена добавления с процедурой следующего вида:
Private Sub Отмена_добавления _Click()
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("Типы", dbOpenDynaset)
With rst
.MoveLast
.Delete
End With
dbs.Close
End Sub
Создание процедуры поиска заказчика из Омска
1. Создайте стандартный модуль:
Function Поиск()
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.