注册 登录
编程论坛 VB6论坛

技术求教,以下查询的代码语法有误?

wangyiaihu 发布于 2020-05-09 23:29, 2271 次点击
    ' rs11.Open "Select * from 数据 Where 设备编号='" & Combo1.Text & "' And 确认状态='" & Combo4.Text & "'and 提交日期 between '" & DTPicker1.Value & "' and '" & DTPicker2.Value & "' ", conn11, 3, 2



这句代码中,语法错误,请大神帮忙指出?
5 回复
#2
风吹过b2020-05-10 10:39
初步看到 是 确认状态 所属节 的 单引号后面没有空格, 在
            "'and 提交日期 between '"
            ^这里

你要学会用 access 测试SQL 命令。那里会显示所有的错误。

#3
ZHRXJR2020-05-10 10:58
程序代码:
rs11.Open "Select * from 数据 Where 设备编号='" & Combo1.Text & "' And 确认状态='" & Combo4.Text & "'And 提交日期> '" & DTPicker1.Value & "' And 提交日期< '" & DTPicker2.Value & "' ", conn11, 3, 2
   '这是 SQL Server 数据库的查询语句,Access 数据库对于日期查询是不同的。
rs11.Open "Select * from 数据 Where 设备编号='" & Combo1.Text & "' And 确认状态='" & Combo4.Text & "'And 提交日期> #" & DTPicker1.Value & "# And 提交日期< #" & DTPicker2.Value & "# ", conn11, 3, 2   

 '这是 Access 数据库的查询语句
'

rs11.Open "Select * from 数据 Where 设备编号='" & Combo1.Text & "' And 确认状态='" & Combo4.Text & "'And 提交日期>= #" & DTPicker1.Value & "# And 提交日期<= #" & DTPicker2.Value & "# ", conn11, 3, 2

不论是那个数据库,查询日期必须是日期格式的数据,例如 DTPicker1.Value 数据必须是日期格式的数据,而不是字符串。

[此贴子已经被作者于2020-5-10 10:59编辑过]

#4
wangyiaihu2020-05-10 22:28
回复 3楼 ZHRXJR
试过了,不管用,
#5
ZHRXJR2020-05-11 10:53
以下是引用wangyiaihu在2020-5-10 22:28:35的发言:

试过了,不管用,

你也说清楚,是什么问题,不管用是什么情况,不说清楚怎么帮你!
#6
wmf20142020-05-11 12:40
估计楼主“确认状态”是一个逻辑值,其值不能用单引号,只能用true/false,模拟楼主access数据库,下面的sql语句可正常执行:
Select * from 数据 Where 设备编号='123'  and 确认状态=true and 提交日期 between #2020-4-7# and #2020-7-1#
1