如何使用DLookup从两个数据表中获取最新TimeStamp
从两个Access表获取最新时间戳的正确实现方案
你的原公式存在语法错误,也没处理好两个表的时间戳比较逻辑,以下是几种实用的正确实现方式:
直接比较两个表的最大值(最简便)
不需要用DLookup,用DMax分别获取两个表的最大时间戳,再取较大的那个:=IIf(DMax("[TimeStamp]", "tbl_TimeStamps_Daily") > DMax("[TimeStamp]", "tbl_TimeStamps_Monthend"), DMax("[TimeStamp]", "tbl_TimeStamps_Daily"), DMax("[TimeStamp]", "tbl_TimeStamps_Monthend"))通过联合查询+DLookup实现(适合需关联其他字段的场景)
先创建一个联合查询(命名为qry_AllTimeStamps),SQL代码如下:SELECT [TimeStamp] FROM tbl_TimeStamps_Daily UNION ALL SELECT [TimeStamp] FROM tbl_TimeStamps_Monthend;然后用
DLookup结合DMax获取最新时间戳:=DLookup("[TimeStamp]", "qry_AllTimeStamps", "[TimeStamp] = DMax('[TimeStamp]', 'qry_AllTimeStamps')")注:其实直接用
DMax查这个联合查询更简单:=DMax("[TimeStamp]", "qry_AllTimeStamps")嵌套联合查询一步到位
不用创建单独的查询,直接在表达式里写嵌套联合查询:=DMax("[TimeStamp]", "(SELECT [TimeStamp] FROM tbl_TimeStamps_Daily UNION ALL SELECT [TimeStamp] FROM tbl_TimeStamps_Monthend)")
内容的提问来源于stack exchange,提问作者Datamint
相关产品推荐
相关产品推荐

