【发布时间】:2016-02-25 22:22:03
【问题描述】:
我试图在输入重复号码时显示一个消息框。如果 [Source] 和 [Voucher_Number] 两个字段都匹配,则此表中的重复项。
[来源]被格式化为文本
[Voucher_Number] 格式为数字
我的代码如下所示:
If (IsNull(DLookup("Source", "tblInvoiceLog", "Source ='" &
Me.Source.Value & "'"))) And _
(IsNull(DLookup("Voucher_Number", "tblInvoiceLog", "Voucher_Number ='" &
Me.Voucher_Number.Value & "'"))) Then
Else
MsgBox "Duplicate Entery!" & Chr(13) & Chr(10) & "Please Use the Next
Available Consecutive Voucher Number", vbInformation, "Required"
End If
End Sub
我得到:
运行时错误 3464
除了解决这个问题,我最终想做的是在消息框中为原始条目返回 [Vendor_Name] 中的字段值。
感谢您提供的任何帮助
【问题讨论】:
-
我已经很久没有使用 VBA 或 VB 了,但您似乎将 & 和 "And" 用于逻辑运算符...您能检查一下该代码是否正确吗?
-
对不起 "Me.Source.Value & "'"))) 并且 _ 应该是 "Me.Source.Value & "'"))) 或 _
-
没关系,我记得 & 是 VB 中的字符串连接...与其他语言的按位/逻辑运算符混淆了。似乎在 If 语句之前连接你的字符串会更好,至少这是我要尝试的第一件事。
-
哪一行报错了?
-
(IsNull(DLookup("Voucher_Number", "tblInvoiceLog", "Voucher_Number ='" & Me.Voucher_Number.Value & "'"))) 然后
标签: database vba ms-access-2007