我有一个数据库,每个客户编号为 01,02,03 等。对于报价编号,我希望它根据该编号和日期生成,并在末尾编号 01,02,03 并在每个新的一天重新开始。以客户 2 今天的第一个报价为例,我希望代码显示为:Q0225042401。今天的第二个是 Q02225042402。那么明天的第一个报价将是 Q0226042401,如果你明白我的意思的话。我的部分代码如下:
QNumber = "Q" & Format(Me![CustomerID], "00") & Format(Now(), "ddmmyy")
rs("QuotationNumber") = QNumber
代码应该怎么写?
我认为你不应该弄乱“自动编号”字段。
您可以有一个不同的字段,只需用 vba 填充即可。
我认为这个 vba 代码应该可以解决问题。
我没有测试过,但我相信它会起作用。
Dim tVar As Variant
QNumber = "Q" & Format(Me![CustomerID], "00") & Format(Now(), "ddmmyy")
tVar = DLast("[QuotationNumber]", "someTableName", "[QuotationNumber] like '" & QNumber & "*'")
If IsNull(tVar) Then
QNumber = QNumber & "01"
Else
QNumber = QNumber & Format(Val(Right(tVar, 2)) + 1, "00")
End If
rs("QuotationNumber") = QNumber