主题:急求助!!VB查询问题
fafagong
[专家分:0] 发布于 2008-05-20 22:10:00
我在编写一个简单的查询,用了1个下拉组合框,一个ADO,一个datagrid控件。代码如下:
Private Sub cmdFind_Click()
If combFind.Text <> " " Then
Adodc1.RecordSource = "设备使用情况 where 使用部门 = '''& combFind.text &'''"
Adodc1.Refresh
DataGrid1.Refresh
If combFind.Text = " " Then
Adodc1.RecordSource = "设备使用情况"
Adodc1.Refresh
End If
End If
End Sub
查询没有结果,实现不了查询。请高手指点。最好加QQ283411988,当面指教!!!!!!!
回复列表 (共6个回复)
沙发
一江秋水 [专家分:9680] 发布于 2008-05-21 07:11:00
从语句顺序看,有问题:
“If combFind.Text = " " Then”这个判断体怎么能在“If combFind.Text <> " " Then”判断体之中呢?它永远不会被执行。 将“If combFind.Text = " " Then”整个句子改为“Else”,后面再去掉一个“End If”
板凳
老大徒伤悲 [专家分:29120] 发布于 2008-05-21 09:08:00
秋水说的很对。
可以修改如下看看:
Private Sub cmdFind_Click()
If combFind.Text <> " " Then
Adodc1.RecordSource = "设备使用情况 where 使用部门 = '''& combFind.text &'''"
Adodc1.Refresh
DataGrid1.Refresh
else
Adodc1.RecordSource = "设备使用情况"
Adodc1.Refresh
End If
End Sub
另外,这样逻辑上没有问题了,但不一定能实现你想要的功能。
3 楼
fafagong [专家分:0] 发布于 2008-05-21 12:46:00
多谢指点了.我改了,可是还实现不了查询功能,怎么回事???????????
4 楼
老大徒伤悲 [专家分:29120] 发布于 2008-05-22 09:04:00
唉!
你看看,我们知道你的数据库是什么样子吗?我们知道你“实现不了”是怎么个结果吗?
所以我前面就说了:[quote]另外,这样逻辑上没有问题了,但不一定能实现你想要的功能。[/quote]
5 楼
wanghe2008 [专家分:0] 发布于 2008-05-24 13:27:00
"设备使用情况 where 使用部门 = '''& combFind.text &'''"
是不是有点错误啊,不报错吗?
"设备使用情况 where 使用部门 = '"& combFind.text &"'"
PS:不知道是不这里错了,希望你设个断点调适下,看看文本框的值,判断是程序逻辑错误还是查询的错误。
6 楼
jianghongbo1 [专家分:410] 发布于 2008-05-24 16:32:00
Adodc1.RecordSource = "设备使用情况 where 使用部门 = '''& combFind.text &'''"
这一句有问题,没有select,没有通配符,没有表源,可能不对吧.
我来回复