Access中VBA代码如何实现以下问题。请看详情。跪求!!

2025-04-07 06:31:02
推荐回答(1个)
回答1:

使用 DLookup 函数可以方便实现此功能,参考代码如下:

Option Compare Database

Public Function SafeDLookup(ByVal Expr As String, _
                            ByVal Domain As String, _
                            Optional Criteria As Variant) As Variant
    SafeDLookup = Null
    
    On Error Resume Next
    
    If IsMissing(Criteria) Then
        SafeDLookup = DLookup(Expr, Domain)
    Else
        SafeDLookup = DLookup(Expr, Domain, Criteria)
    End If
End Function

Private Sub Command2_Click()
    Dim varC As Variant
    Dim varBID As Variant
    
    varBID = BID.Value
    varC = SafeDLookup("C", "A", "B='" & Replace(varBID, "'", "''") & "'")
    
    If Not IsNull(varC) Then
        MsgBox varBID & "已被" & varC & "借走"
    End If
End Sub

假设 A 表中有如下测试数据:

当在 BID 文本框中输入 k137 时的运行效果: