使用 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 时的运行效果: