我需要一个自动生成的跟踪号码。
我在'插入前'动作中添加了这个(见下文),但是在编号9之后我遇到了问题。
我![追踪#] = Nz(DMax(“[追踪#]”,“[TblTrackingNum]”),0)+ 0.01
我的跟踪号始终以89669开头。此代码一直有效,直到达到十号。
跟踪号码应该这样做: 89669.1 ... 89669.2 ... 89669.3 ... 89669.4 ... 89669.5 .....
但在9之后它将数字改为89670.我需要它说89669.10。
有什么建议吗?
答案 0 :(得分:0)
在仅包含一行数据的表中创建一个字段:
NextTrackNum Long
将NextTrackNum初始化为1。
生成号码时,请执行以下操作:
function generateNumber() as double
dim nextnum as long
nextnum = dlookup("NextTrackNum", "yourTable", filter...)
generateNumber = CDbl("89669." & trim(nextnum))
end function
答案 1 :(得分:0)
首先,跟踪号码必须是一个字符串,正如Johnny Bones在评论中已经提到的那样 所以最后一个字段需要是一个字符串,但实际增加的数字需要是一个数字类型(为了正确增加它)。
将自动增量字段放入表(并使其成为主键) 这将成为跟踪号码中越来越多的部分。
然后,有多种方法可以从该自动增量字段中生成跟踪编号:
1)在MS Access中创建一个查询,从表中选择并生成跟踪号。
SELECT "89669." & [ID] AS TrackingNumber, YourTable.*
FROM YourTable
永远不要直接使用该表,始终SELECT
来自查询:
SELECT * FROM qryYourTable WHERE ...
2)在表格中创建一个名为TrackingNumber
的附加文本字段
每次在表格中插入新行时,请使用填充该字段的代码调用查询,并使用正确的值:
Public Function FillTrackingNumbers()
CurrentDb.Execute "UPDATE YourTable SET TrackingNumber = '89669.' & [ID] WHERE TrackingNumber Is Null"
End Function