MS Access 对 VBA 中具有特定格式的字段自动编号

问题描述 投票:0回答:1

我有一个数据库,每个客户编号为 01,02,03 等。对于报价编号,我希望它根据该编号和日期生成,并在末尾编号 01,02,03 并在每个新的一天重新开始。以客户 2 今天的第一个报价为例,我希望代码显示为:Q0225042401。今天的第二个是 Q02225042402。那么明天的第一个报价将是 Q0226042401,如果你明白我的意思的话。我的部分代码如下:

QNumber = "Q" & Format(Me![CustomerID], "00") & Format(Now(), "ddmmyy") 
rs("QuotationNumber") = QNumber

代码应该怎么写?

vba ms-access
1个回答
0
投票

我认为你不应该弄乱“自动编号”字段。

您可以有一个不同的字段,只需用 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
© www.soinside.com 2019 - 2024. All rights reserved.