[Microsoft][ODBC SQL Server Driver][SQL Server]在关键字 'and' 附近有语法错误
IfCheck7.value=1ThenIfNotrs.state=adStateClosedThenrsdemandback.CloseIfK=1Thenrsdeman...
If Check7.value = 1 Then
If Not rs.state = adStateClosed Then rsdemandback.Close
If K = 1 Then
rsdemandback.Open "select * from 计量信息 and 车型 = '" & Combo5.Text & "'", cnn1, 1, 3
Set MSHFlexGrid1.DataSource = rsdemandback
MSHFlexGrid1.Refresh
Else
rsdemandback.Open "select * from 计量信息 where 车型 = '" & Combo5.Text & "'", cnn1, 1, 3
Set MSHFlexGrid1.DataSource = rsdemandback
MSHFlexGrid1.Refresh
End If
Command2.Enabled = True
K = 1
End If
此句报错:
rsdemandback.Open "select * from 计量信息 and 车型 = '" & Combo5.Text & "'", cnn1, 1, 3
怎么回事。。
我把这块的程序全放上去就是怕大侠们让我把and改成where 这程序的意思是 做一个多选项的查询 如果选中check7 并且之前没有做过其他方面的查询 则k=0 即进行楼下crazycoder所说的 rsdemandback.Open "select * from 计量信息 where 车型 = '" & Combo5.Text & "'", cnn1, 1, 3 查询,相当于在计量信息这个表的车型项里查询与选中的车型相符的信息
如果之前做过其他方面的查询 则k=1 即在之前已查询的基础上再查询 也就是从已查询完的表里查询车型为选中车型的信息 所以此处出现了and
实现这种功能应该怎么改这条语句?
另 hearwindsing的换成逗号方法我试了 还是错误
crazycoder和 richieryou的方法都试了 还是不行 用where 1=1不报错了 但是查询出来的信息不对 只能查一次 后面再查结果都是第一次查询的结果 大家还有没有别的改进思路?? 展开
If Not rs.state = adStateClosed Then rsdemandback.Close
If K = 1 Then
rsdemandback.Open "select * from 计量信息 and 车型 = '" & Combo5.Text & "'", cnn1, 1, 3
Set MSHFlexGrid1.DataSource = rsdemandback
MSHFlexGrid1.Refresh
Else
rsdemandback.Open "select * from 计量信息 where 车型 = '" & Combo5.Text & "'", cnn1, 1, 3
Set MSHFlexGrid1.DataSource = rsdemandback
MSHFlexGrid1.Refresh
End If
Command2.Enabled = True
K = 1
End If
此句报错:
rsdemandback.Open "select * from 计量信息 and 车型 = '" & Combo5.Text & "'", cnn1, 1, 3
怎么回事。。
我把这块的程序全放上去就是怕大侠们让我把and改成where 这程序的意思是 做一个多选项的查询 如果选中check7 并且之前没有做过其他方面的查询 则k=0 即进行楼下crazycoder所说的 rsdemandback.Open "select * from 计量信息 where 车型 = '" & Combo5.Text & "'", cnn1, 1, 3 查询,相当于在计量信息这个表的车型项里查询与选中的车型相符的信息
如果之前做过其他方面的查询 则k=1 即在之前已查询的基础上再查询 也就是从已查询完的表里查询车型为选中车型的信息 所以此处出现了and
实现这种功能应该怎么改这条语句?
另 hearwindsing的换成逗号方法我试了 还是错误
crazycoder和 richieryou的方法都试了 还是不行 用where 1=1不报错了 但是查询出来的信息不对 只能查一次 后面再查结果都是第一次查询的结果 大家还有没有别的改进思路?? 展开
3个回答
展开全部
你这样写 where 1=1 and .....
说明:
where 1=1 这样就可以让你直接加and不要判断了,1=1就是全部条件
----------------我是分割线----------------
还没解决呢? 是不是这样:你的条件是活的,有可能有,有可能没有 我理解的对不对?要是对的话看 我举这个例子吧
dim tiaojian=""
if 1 then
tiaojian=" and tiaojian1=1"
end if
sql="select * from aaa where 1=1 "
说明:
where 1=1 这样就可以让你直接加and不要判断了,1=1就是全部条件
----------------我是分割线----------------
还没解决呢? 是不是这样:你的条件是活的,有可能有,有可能没有 我理解的对不对?要是对的话看 我举这个例子吧
dim tiaojian=""
if 1 then
tiaojian=" and tiaojian1=1"
end if
sql="select * from aaa where 1=1 "
展开全部
sql语句错误,修改为下面的即可
rsdemandback.Open "select * from 计量信息 where 车型 = '" & Combo5.Text & "'", cnn1, 1, 3
你说的问题其实可以构造sql语句
dim strWhere
strWhere=""
if k=0 then
strWhere= " k=0 "
end if
if strWhere= "" then
sql="select * from 计量信息 where 车型 = '" & Combo5.Text & "'"
else
sql="select * from 计量信息 where "& strWhere &" and 车型 = '" & Combo5.Text & "'"
end if
rsdemandback.Open "select * from 计量信息 where 车型 = '" & Combo5.Text & "'", cnn1, 1, 3
你说的问题其实可以构造sql语句
dim strWhere
strWhere=""
if k=0 then
strWhere= " k=0 "
end if
if strWhere= "" then
sql="select * from 计量信息 where 车型 = '" & Combo5.Text & "'"
else
sql="select * from 计量信息 where "& strWhere &" and 车型 = '" & Combo5.Text & "'"
end if
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把and换成逗号,
and是放where句里的 ,怎么跑这儿来了?
and是放where句里的 ,怎么跑这儿来了?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询