sql - 将变量传递给 sql 查询时,ms 访问条件表达式中的数据类型不匹配
问题描述
我收到与以下代码不匹配的数据类型。但是,当我进行调试打印时,它看起来不错。
Dim strSQL As String
Dim StartDate As Date
Dim EndDate As Date
StartDate = “1/1/2019”
EndDate = “2/1/2019”
strSQL = SELECT Table1.Start INTO 1 FROM Table1 WHERE (((Table1.Start) BETWEEN ‘“ & StartDate & “‘“ & “ AND ‘“ & EndDate & “‘));”
Debug.Print strSQL
Docmd.RunSQL strSQL
解决方案
对日期和日期值表达式使用正确的语法:
Dim strSQL As String
Dim StartDate As Date
Dim EndDate As Date
StartDate = #1/1/2019#
EndDate = #2/1/2019#
strSQL = "SELECT Table1.Start INTO 1 FROM Table1 WHERE (((Table1.Start) BETWEEN #" & Format(StartDate, "yyyy\/mm\/dd") & "# AND #" & Format(EndDate, "yyyy\/mm\/dd") & "#);"
推荐阅读
- laravel - Laravel/Vue 表单验证
- substrate - 余额保持为零
- flutter - 按下后退按钮并重新打开应用程序 Flutter 卡在启动画面
- python - 使用 JSON 对象展开 Pandas DataFrame 列
- python - 我无法从正则表达式匹配中创建列表
- sql - Postgres (SQL) 查找未保留的总天数
- python - 尽管安装成功,但术语“pip”在 Windows 10 上未被识别为 cmdlet 的名称
- c# - 以编程方式编辑实时excel文档c#
- windows-installer - ISDEV:致命错误 -7108:%s 太大而无法存储在 .cab 中(最大 2 GB)
- typescript - 太复杂的打字稿问题。动态对象引用