[英]DCount using two Criteria
我有一個帶有兩個組合框的訪問表單,PO 編號和供應商編號。 供應商編號將自動過濾以僅顯示與所選采購訂單編號匹配的供應商編號(采購訂單編號不是唯一的;例如,多個不相關的供應商可能將 2180965 作為其采購訂單編號)。
一些 PO 免於我們的檢查過程,我們將它們的列表保存在名為 ZeroAudit 的表中。 該表包含豁免交貨的采購訂單編號和供應商編號。
在我發現 PO 編號不是唯一的之前,我使用此代碼告訴我們的團隊某個給定的 PO 是否需要檢查。 如何更新它以要求采購訂單編號和供應商編號與 ZeroAudit 表條目匹配才能免於 QA?
Private Sub VendorNumber_AfterUpdate()
Dim IntX As Integer
IntX = DCount("*", "ZeroAudit", "PONumber=" & Chr(34) & Me.PONumber.Value & Chr(34))
Debug.Print Me.PONumber.Value
If IntX = 0 Then
MsgBox "Needs QA"
Me.PONumber.SetFocus
ElseIf IntX > 0 Then
MsgBox "Does NOT Need QA — DIM and RETAIL CHECK REQUIRED"
Me.PONumber.SetFocus
End If
End Sub
假設您的表/查詢ZeroAudit
包含一個名為VendorNumber
的字段,並且您的表單還包含一個名為VendorNumber
的字段,那么下面給出了兩種可能的方法:
使用DCount
:
If DCount("*", "ZeroAudit", "PONumber='" & Me.PONumber & "' and VendorNumber='" & Me.VendorNumber & "'") = 0 Then
MsgBox "Needs QA"
Else
MsgBox "Does NOT Need QA — DIM and RETAIL CHECK REQUIRED"
End If
Me.PONumber.SetFocus
使用DLookup
:
If IsNull(DLookup("PONumber", "ZeroAudit", "PONumber='" & Me.PONumber & "' and VendorNumber='" & Me.VendorNumber & "'")) Then
MsgBox "Needs QA"
Else
MsgBox "Does NOT Need QA — DIM and RETAIL CHECK REQUIRED"
End If
Me.PONumber.SetFocus
注意ElseIf
不是必需的,因為DCount
的返回值要么是正數要么是零; 因此,如果您正在測試零,則Else
語句涵蓋了所有其他可能性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.