MS VBA | Функция DLookUp |
Функция DlookUp позволяет заглянуть в запрос или таблицу MS Access и возвратить значение поля:
DLookup("FieldName", "TableOrQueryName", "ID <> 0")
или
DLookup("FieldName", "TableOrQueryName", "FieldName <> 'text'")
Перед тем, как добавлять DLookup в качестве данных поля формы, работу функции можно увидеть/отладить в окне Immediate:
Пример:
Есть результат запроса (PeriodResearch_Active) типа "активный период исследования":
Есть форма по внесению данных об исследовании (фрагмент):
в которой:
ResearchNbr – TextBox, источник данных которого (ControlSource) "смотрит" в запрос PeriodResearch_Active и принимает значение запроса по полю ResearchID:
=DLookUp("[ResearchID]";"[ResearchNbr_Actual]";"ResearchID<>0")
VisitDate – TextBox, поле для заполнения даты визита.
Пользователь может внести дату только в рамках "активного периода исследования", поэтому Validation Rule для поля VisitDate:
Is Null Or VisitDateIsRight([VisitDate])=False
где VisitDateIsRight(VisitDate As Date), функция:
Function VisitDateIsRight(VisitDate As Date) As Boolean If VisitDate >= CDate(DLookup("ResearchFrom", "PeriodResearch_Active", "ResearchID <> 0")) _ And VisitDate <= DLookup("ResearchTill", "PeriodResearch_Active", "ResearchID <> 0") Then VisitDateIsRight = False Else VisitDateIsRight = True End If End Function
|