回 帖 发 新 帖 刷新版面

主题:急求助!!VB查询问题

我在编写一个简单的查询,用了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个回复)

沙发

从语句顺序看,有问题:

“If combFind.Text = " " Then”这个判断体怎么能在“If combFind.Text <> " " Then”判断体之中呢?它永远不会被执行。 将“If combFind.Text = " " Then”整个句子改为“Else”,后面再去掉一个“End If”

板凳

秋水说的很对。
可以修改如下看看:
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 楼

多谢指点了.我改了,可是还实现不了查询功能,怎么回事???????????

4 楼

唉!
你看看,我们知道你的数据库是什么样子吗?我们知道你“实现不了”是怎么个结果吗?
所以我前面就说了:[quote]另外,这样逻辑上没有问题了,但不一定能实现你想要的功能。[/quote]

5 楼

"设备使用情况 where 使用部门 = '''& combFind.text &'''"
是不是有点错误啊,不报错吗?
"设备使用情况 where 使用部门 = '"& combFind.text &"'"

PS:不知道是不这里错了,希望你设个断点调适下,看看文本框的值,判断是程序逻辑错误还是查询的错误。

6 楼

Adodc1.RecordSource = "设备使用情况 where 使用部门 = '''& combFind.text &'''" 
这一句有问题,没有select,没有通配符,没有表源,可能不对吧.

我来回复

您尚未登录,请登录后再回复。点此登录或注册