我花了几个小时在网上搜索,找不到和回答为什么我的语法是错误的。我有一个包含许多记录的表,它们都是使用Now()标记日期的。我使用下面的代码来获取最新的记录。
MaxDate = DMax("AuditDateTime", "Tbl_Data_Claim")这个很好用。现在,我正在尝试使用DLookup获取我想要的字段,并将其放入我的表单中。
Me.Frm_Data_Claim_subform!TBSClaim_DOL = DLookup("[Claim_DOL]", "Tbl_Data_Claim", "[AuditDateTime] = " & [MaxDate] & "'")我在查询表达式'AuditDateTime = 9/16/2018 2:32:14 am‘中遇到运行时错误'3075’语法错误(缺少运算符)。由于错误中显示了我的时间戳,所以条件有效。我确信这只是一个错误的引号或简单的东西。我尝试了所有类型的排列,但似乎都不起作用。提前谢谢。
发布于 2018-09-17 15:50:00
您的DMax返回一个日期值,而DLookup中的筛选器需要该日期值的字符串表达式。
通用的(在美国以外也适用)方法是:
"[AuditDateTime] = #" & Format([MaxDate], "yyyy\/mm\/dd hh\:nn\:ss# & "#"但是,您可以一气呵成,避免格式化:
Me.Frm_Data_Claim_subform!TBSClaim_DOL = DLookup("[Claim_DOL]", "Tbl_Data_Claim", "[AuditDateTime] = DMax('AuditDateTime', 'Tbl_Data_Claim')")请注意将双引号更改为单引号。
发布于 2018-09-17 08:30:27
在提出问题之后。我一直在寻找,找到了答案,嗯,算是吧。我找到了一些很接近的东西,然后对它进行了修改,直到它正常工作。
Me.Frm_Data_Claim_subform!TBSClaim_DOL = DLookup("[Claim_DOL]", "Tbl_Data_Claim", "AuditDateTime = #" & MaxDate & "#")因为变量是一个日期,所以我需要把它括在#中。希望这对其他人有帮助。
https://stackoverflow.com/questions/52359382
复制相似问题