DLookUp 到 return 所有出现而不是只有第一个
DLookUp to return all occurrences instead of only the first one
我检查用户选择的日期是否匹配字段的 tblFestivity Festivity_Date。
如果这些匹配,我会显示一个消息框。
用户输入日期的字段:
table tblFestivity 和字段 Festivity_Date:
它适用于第一条记录:
Private Sub Date_Flow_Exit(Cancel As Integer)
If Date_Flow = DLookup("[Festivity_Date]", "tblFestivity", "[Date_Flow]=Form![Date_Flow]") Then
MsgBox "è un giorno festivo"
End If
End Sub
此代码显示消息框,但仅针对第一条记录,它不会检查 table tblFestivity 中的其他记录。
Date_Flow是第一张图片中文本框的名称。
我怎样才能检查所有的事件而不是只检查第一个?
找不到匹配项,因为 WHERE CONDITION 语法错误且未在条件中使用字段名称。引用字段或表单控件的正确语法是 Forms!formname!fieldORcontrol name
。条件应使用与表单上的值匹配的字段名称。
If Not IsNull(DLookup("[Festivity_Date]", "tblFestivity", "[Festivity_Date] = Forms!formname!Date_Flow")) Then
或者
If DCount("*", "tblFestivity", "[Festivity_Date]=Forms!formname!Date_Flow") > 0 Then
如果我没理解错的话,你想在每次出现用户输入的日期时显示一条消息吗?
如果是这样,那么我建议您打开包含结果的记录集并遍历每个结果并显示消息。
Private Sub Date_Flow_Exit(Cancel As Integer)
Dim rs As Recordset
Dim dt As Date
dt = Me.Date_Flow
Set rs = CurrentDb.OpenRecordset("SELECT tblFestivity.Festivity_Date FROM tblFestivity WHERE (((tblFestivity.Festivity_Date) =#" & dt & "#));") 'Opens recordset only with dates entered in textbox
With rs
If .RecordCount > 0 Then
.MoveFirst
Do While Not .EOF
MsgBox ("è un giorno festivo")
.MoveNext
Loop
Else
MsgBox ("There are no festivities on this day")
End If
End With
End Sub
让我知道这就是你想要的?
我检查用户选择的日期是否匹配字段的 tblFestivity Festivity_Date。
如果这些匹配,我会显示一个消息框。
用户输入日期的字段:
table tblFestivity 和字段 Festivity_Date:
它适用于第一条记录:
Private Sub Date_Flow_Exit(Cancel As Integer)
If Date_Flow = DLookup("[Festivity_Date]", "tblFestivity", "[Date_Flow]=Form![Date_Flow]") Then
MsgBox "è un giorno festivo"
End If
End Sub
此代码显示消息框,但仅针对第一条记录,它不会检查 table tblFestivity 中的其他记录。
Date_Flow是第一张图片中文本框的名称。
我怎样才能检查所有的事件而不是只检查第一个?
找不到匹配项,因为 WHERE CONDITION 语法错误且未在条件中使用字段名称。引用字段或表单控件的正确语法是 Forms!formname!fieldORcontrol name
。条件应使用与表单上的值匹配的字段名称。
If Not IsNull(DLookup("[Festivity_Date]", "tblFestivity", "[Festivity_Date] = Forms!formname!Date_Flow")) Then
或者
If DCount("*", "tblFestivity", "[Festivity_Date]=Forms!formname!Date_Flow") > 0 Then
如果我没理解错的话,你想在每次出现用户输入的日期时显示一条消息吗?
如果是这样,那么我建议您打开包含结果的记录集并遍历每个结果并显示消息。
Private Sub Date_Flow_Exit(Cancel As Integer)
Dim rs As Recordset
Dim dt As Date
dt = Me.Date_Flow
Set rs = CurrentDb.OpenRecordset("SELECT tblFestivity.Festivity_Date FROM tblFestivity WHERE (((tblFestivity.Festivity_Date) =#" & dt & "#));") 'Opens recordset only with dates entered in textbox
With rs
If .RecordCount > 0 Then
.MoveFirst
Do While Not .EOF
MsgBox ("è un giorno festivo")
.MoveNext
Loop
Else
MsgBox ("There are no festivities on this day")
End If
End With
End Sub
让我知道这就是你想要的?