我是初學者,我的問題如下:
我必須檢查用戶選擇的日期是否與 Festivity_Date 欄位的 tblFestivity 匹配。如果這些現在匹配,我想向用戶顯示一個普通的訊息框。
在此影像中,您可以看到用戶插入日期的欄位:
在此處輸入圖片說明
在這個中,您可以看到表 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
此代碼向我顯示了我想要的訊息框,但僅針對第一條記錄,它不會檢查表 tblFestivity 中的其他記錄。
Date_Flow 是第一張影像中文本框的名稱。
我的問題是:如何檢查僅第一個的發生?希望你能明白我在問什么,謝謝你的建議。
uj5u.com熱心網友回復:
如果我理解正確,您想為用戶輸入的每次出現的日期顯示一條訊息嗎?
如果是這種情況,那么我建議您打開帶有結果的記錄集并遍歷每個記錄集并顯示訊息。
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
讓我知道這就是你想要的?
uj5u.com熱心網友回復:
它沒有找到匹配項,因為 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
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/397054.html
