我有一个访问数据库,用于跟踪以这种方式编号的报告:
NNN-[two digit site code]-YY0000
“0000
”是在发布报告时分配的序号。例如:NNN-SD-180001
,NNN-MA-180002
。
tbl_NNN
存储记录。 NNN_ID
是存储报告编号的列。
报告编号是手动分配的,因此我们必须跟踪最后分配的编号,以防止“复制”顺序0000编号。由于用户无法看到整个已分配号码表,因此他们不知道哪个是分配的最后一个号码。为了帮助他们,他们的仪表板/表格有一个标签,显示最后发出的号码。我们遇到的问题是标签只显示包含SD站点代码的数字,不显示MA编号。
我的解决方案是添加一个名为“Date_Created
”的列,只要在表中创建新的行/数字,就会添加一个=Now()
时间戳。使用时间戳,我打算使用Dmax
显示与创建的最后一行对应的报告编号,而不管报告编号如何。
我知道我需要的是DLookup
和Dmax
的组合,但我想出的是什么
“#错误”
在标签上。
=DLookUp("NNN_ID","tbl_NNN","[Date_Created]=" & DMax("[Date_Created]","tbl_NNN"))
我写得对吗?
你很接近,但你必须为嵌入式DMax使用单引号(或不可读的扩展双引号):
=DLookUp("NNN_ID","tbl_NNN","[Date_Created] = DMax('[Date_Created]','tbl_NNN')")