DMax中具有多个参数的类型不匹配

时间:2019-05-23 20:39:59

标签: vba ms-access access-vba

因此,我在MS Access中有一张发票表(“发票”)。我还具有一个显示每个记录的表格,对于我要查看的每个记录,我希望显示同一位客户以前发票的字段。

因此,我尝试将DMax函数与2个参数一起使用。第一个确保发票与同一客户相关,第二个确保发票号小于显示的当前发票号。

RecentInvNo = DMax("[Invoice Number]", "Invoices", "[Invoice Number]<" & Me.Invoice_Number And "[Customer Number] ='" & Me.Combo15 & "'")

位置:
“发票编号”是“发票”表中的字段。
Me.Invoice_Number是表单上的发票编号。
Me.Combo15是表单上的客户编号。

不幸的是,我收到“运行时错误13:类型不匹配”。

但是,以下方法可行:

  Temp = DMax("[Invoice Number]", "Invoices", "[Invoice Number]<" & Me.Invoice_Number)

RecentInvNo = DMax("[Invoice Number]", "Invoices", "[Customer Number] ='" & Me.Combo15 & "'")

那么当我将两者结合时为什么会出现类型不匹配的情况?和的每一边是否都必须是同一类型? 任何人都可以提出更正或替代建议吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

AND运算符是文本,必须在引号内。另外,需要一个串联字符。

RecentInvNo = DMax("[Invoice Number]", "Invoices", "[Invoice Number]<" & Me.Invoice_Number & " And [Customer Number] ='" & Me.Combo15 & "'")

这假设[发票编号]是数字类型字段。

建议在命名约定中不要使用空格或标点/特殊字符。