【发布时间】:2017-03-22 14:21:32
【问题描述】:
我正在尝试通过使用 DMAX 函数来添加发票编号,以使用下一个连续发票编号填充文本框。根据在组合框 Me.cmb_CustomerType.Value 中选择的房地产经纪人名称,发票编号(Survey_InvoiceNumber、Survey_tbl)将以不同的编号开头,例如Elmhurst 将从 08 开始,Bridgfords 将从 05 开始,Harringtons Durham 将从 04 开始。 我已经尝试使用各种论坛的 select 语句、left、dmax、dlookup,但无法使其正常工作,我对此束手无策!
If cmb_CustomerType.Value = "Elmhurst" Then
Me.txt_InvoiceNumber.Value = DMax("Survey_InvoiceNumber", "Survey_tbl", "08") + 1
End If
If cmb_CustomerType.Value = "Bridgfords" Then
Me.txt_InvoiceNumber = Nz(DMax("Survey_InvoiceNumber", "Survey_tbl", "05") + 1)
End If
If cmb_CustomerType.Value = "Harringtons Durham" Then
Me.txt_InvoiceNumber = Nz(DMax("Survey_InvoiceNumber", "Survey_tbl", "04") + 1)
End If
它只返回所有房地产经纪人的“8884”,因为这是该列中的最高数字。
结果应该是:Elmhurst - 08884,Harringtons Durham - 04048
bridgfords 目前没有价值,因此它应该以 05000 开头。
提前谢谢:)
【问题讨论】:
-
首先,您的 Survey_InvoiceNumber" 列是字符串还是长字符串?如果您真的想要前导零 (08..,05...,04...),最好创建一个字符串,但是看起来很长,只要您的 dmax 返回 8884(没有前导零)。然后,您是否有一个存储客户类型的列,或者您是否仅依靠发票编号的第一个数字来确定它(坏主意)?
-
@Thomas G,我有一个存储在“Customer_tbl”中的“Customer_Type”属性。我将 Survey_InvoiceNumber 列设为短文本以允许数字以 0 开头,但它似乎对表单没有任何影响