VBA访问DMAX发票编号标准

时间:2017-03-22 14:21:32

标签: vba ms-access access-vba

我正在尝试使用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开始。

提前致谢:)

1 个答案:

答案 0 :(得分:0)

试试这个骨架:

Me.txt_InvoiceNumber.Value = "08" & Right(Format(Val(Nz(DMax("Survey_InvoiceNumber", "Survey_tbl", "Survey_InvoiceNumber Like '08*'")) + 1), "00000"), 3)