在 SQL 中使用 Format("dd/mmyyyy") 进行 MS-Access VBA 选择会导致语法错误

问题描述 投票:0回答:1

我正在查询一个包含定义为一般日期的日期字段的表。 表包含日期格式为 dd/mm/yyyy(这是我所在位置的标准)的记录:16/11/2024、23/11/2024、7/12/2024 和 14/12/2024。 我的 sql 适用于 16/11/2024 和 23/11/2024,按预期检索记录。 Select for 7/12/2024 读取失败,未找到任何记录。我认为这是将其视为 2024 年 7 月 12 日。

我研究了使用格式来明确定义日期的格式。 构建了一个 sql select 但在运行时不断出现语法错误。 我的变量:Dim vFixtureDate 作为日期是使用另一个表中的通用日期字段计算的。

这里是SQL语句。 sqlF =“从固定装置中选择*,其中fixture_dt_short = #”&“Format(”&vFixtureDate&“,”&Chr(34)&“dd / mm / yyyy”&Chr(34)&“)#”

SQL 看起来不错 - msgbox 显示一条看起来正确的语句,格式参数两端都有 #。 运行时,对话框包含“查询表达式中的日期语法错误。 对话框中显示的SQL语句末尾有“)”。缺少结束#。

sql vba date ms-access format
1个回答
0
投票

使用 ISO 序列并将其简化为:

sqlF = "select * from fixtures where fixture_dt_short = #" & Format(vFixtureDate, "yyyy\/mm\/dd/") & "#"
© www.soinside.com 2019 - 2024. All rights reserved.