结合使用DMax和Dlookup从创建的最后一行中查找值

时间:2018-09-18 19:24:35

标签: ms-access ms-access-2010 ms-access-2007

我有一个访问数据库,该数据库跟踪以这种方式编号的报告:

NNN-[two digit site code]-YY0000

0000”是在发布报告时分配的序号。 例如:NNN-SD-180001NNN-MA-180002

tbl_NNN存储记录。 NNN_ID是存储报告编号的列。

报告号是手动分配的,因此我们必须跟踪最后分配的号,以防止“复制”连续的0000号。由于用户无法查看分配号的整个表格,因此他们不知道哪个是分配的最后一个号。为了帮助他们,他们的仪表板/表格上有一个标签,显示最后发布的号码。我们遇到的问题是标签仅显示包含SD站点代码的数字,而未显示MA数字。

我的解决方案是添加一个名为“ Date_Created”的列,每当在表中创建新的行/编号时,它都会添加一个=Now()时间戳。然后,使用时间戳记,我打算使用Dmax来显示与创建的最后一行相对应的报告号,而不管报告号如何。

我知道我需要的是DLookupDmax的组合,但是我想到的是显示

  

“#错误”

标签中的

=DLookUp("NNN_ID","tbl_NNN","[Date_Created]=" & DMax("[Date_Created]","tbl_NNN"))

我写的正确吗?

1 个答案:

答案 0 :(得分:0)

您很接近,但是对于嵌入式DMax,您必须使用单引号(或不可读的扩展双引号):

=DLookUp("NNN_ID","tbl_NNN","[Date_Created] = DMax('[Date_Created]','tbl_NNN')")