1 在窗体的代码如下:
Dim SchCnd As String
Private Sub Command1_Click()
SchCnd = Empty
SchCnd = "(部门代码 like '%" & Trim(Text1.Text) & "%')"
If querydata(SchCnd) = True Then
Set DataGrid1.DataSource = rs
DataGrid1.Refresh
End Sub
2 模块中的代码如下:Public con As New ADODB.Connection
Public rs As New ADODB.Recordset
Private Sub main()'打开数据库
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\gaoxiang\桌面\毕业设计\毕业设计.mdb;Persist Security Info=False"
con.CursorLocation = adUseClient
con.Open
Set rs = con.Execute("select * from [单位部门表]")
Form1.Show
End Sub
Public Function querydata(ByVal strsql As String) As Boolean'函数定义
Set rs = New ADODB.Recordset
Call rs.Open(strsql, con, adOpenDynamic, adLockBatchOptimistic, -1)
If Err.Number > 0 Then
Err.Clear
querydata = False
Else
querydata = True
End Function
我通过查询 这样怎么不能显示 该怎么该 
在我的基础上改改 谢谢 我已经想了一天了 好心人帮忙啦

解决方案 »

  1.   

    刚才复制时候 end if 漏掉2个 加上去也是不行啊
      

  2.   

    我也是个VB初学者,我看了你的代码,在Private Sub Command1_Click()这一段里面为什么没有datagrid显示数据的语句呢?只看到你设置数据的来源,估计是这个问题吧,你找个例程看看应该很有帮助!
      

  3.   

    SchCnd = "(部门代码 like '%" & Trim(Text1.Text) & "%')"
    这句有错,如果作为SQL查询,上面的“%”应该改为“*”.你的查询方式我没用过~你试试我的~
      

  4.   

    data.recordsource="select * from 表名 where 部门代码 like '*"+Trim(Text1.Text) +"*'"
    data.refresh
    我的用法
      

  5.   

    不行啊 我感觉就是rs 记录集有错误的 Set DataGrid1.DataSource = rs 
    querydata函数参数不对