簡體   English   中英

DCount 使用兩個標准

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM