SQL 比较 Access 中保存的日期与今天的日期不起作用

标签 sql excel vba date ms-access

我正在尝试运行一个查询,作为 VBA 代码的一部分,该查询查看日期字段中包含今天日期的所有记录,并将它们写入记录集。但是下面的 SQL 语句不起作用。 即使 DateEntered 字段明确包含带有今天日期的记录,它也不会返回任何记录。

dim cn as new adodb.connection
dim rs as new adodb.recordset
dim SQL as string
SQL = "SELECT * FROM tbl1LinkAuths WHERE DateEntered = #" & Date & "# "
Debug.Print SQL
cn.Open cnDB
rs.Open SQL, cn, , adLockPessimistic

我一直使用这种形式的数据库连接,它适用于我代码中的其他查询,只是日期识别出了问题。

最佳答案

您有多种选择:

SQL = "SELECT * FROM tbl1LinkAuths WHERE DateEntered = Date()"

或者:

Dim DateToday As String
DateToDay = Format(Date, "yyyy\/mm\/dd")
SQL = "SELECT * FROM tbl1LinkAuths WHERE DateEntered = #" & DateToDay & "# "

关于SQL 比较 Access 中保存的日期与今天的日期不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32369704/

相关文章:

mysql - SQL 按日期降序排序表达式

SQL - 用 Where 计数

Sql 查询 - 摆脱硬编码值

java - 如何使用 Eclipse 部署 SDK Java?

vba - Excel 宏 : Last non-empty cell in a column

sql - SQL Server 存储过程中 SELECT 语句的 ORDER BY 子句中的 IF 语句

excel - 在 VBA 中创建类的实例的函数

vba - 当工作表有过滤器时,为什么 ActiveSheet.FilterMode 返回 False?

正则表达式确保范围内的每个数字都匹配一次

excel - 将字符串保存到 VBA 中未初始化的 Variant 变量中