因此,我在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 & "'")
那么当我将两者结合时为什么会出现类型不匹配的情况?和的每一边是否都必须是同一类型? 任何人都可以提出更正或替代建议吗?
谢谢!
答案 0 :(得分:1)
AND
运算符是文本,必须在引号内。另外,需要一个串联字符。
RecentInvNo = DMax("[Invoice Number]", "Invoices", "[Invoice Number]<" & Me.Invoice_Number & " And [Customer Number] ='" & Me.Combo15 & "'")
这假设[发票编号]是数字类型字段。
建议在命名约定中不要使用空格或标点/特殊字符。