【发布时间】:2010-09-13 07:38:29
【问题描述】:
我需要为我的 Access (2010) 数据库生成唯一的发票编号。数字应采用年份+序号的格式,例如20101447 是 2010 年的第 1447 张发票。我环顾四周,但很多 Google 结果都建议使用自动编号,我很确定这不是一个非常可靠的方法。 (因为自动编号只保证是唯一的,没有别的)
该数据库暂时不会被多个用户同时使用,但我也不想使用完全被破解的解决方案。
编辑 我还发现this website 讨论了使用 DMax 函数进行顺序编号。场景 #2 正是我的想法,我认为这对于我的用例来说已经足够了。在完全输入和保存新发票之前,我会确保在罕见的(对我而言)数据库发生更改的情况下通知用户。
EDIT2 仅供参考:编号方案不是财政要求,而只是我们的自定义编号。我不想在没有充分理由的情况下改变。
【问题讨论】:
-
你愿意使用多少 VBA?
-
考虑到我的理解水平,这是很多代码。并不是说我没有得到代码,我只是害怕在不需要它的情况下增加太多的复杂性。如果它不是太 hackish 并且不会有两个用户的丑陋错误,那对我来说没问题。
-
这是欧盟要求的?
-
您是否需要在一个字段中存储多条数据?当然有发票日期,在我看来,您可以重新启动每年的序列,并将年份从发票编号中删除。如果他们喜欢查看前一年的发票编号,那么您可以对其进行格式化以进行显示,但实际上没有必要以这种方式存储它。