Private Sub search_Click()
 Dim precept As String
    Dim strSQL As String
    Dim rst  As New Recordset
    precept = InputBox("请输入故障现象中包含的关键字", "查找故障")
    strSQL = "select * from falt where 现象描述 like '% " & precept & " %'"
    Call QueryExt(strSQL)
    Set DataGrid1.DataSource = rst
  Adodc1.Refresh
  DataGrid1.Columns(0).Width = 600   '设置列宽度
  DataGrid1.Columns(1).Width = 2300
  DataGrid1.Columns(2).Width = 1200
  DataGrid1.Columns(3).Width = 1200
  DataGrid1.Columns(4).Width = 1300
  DataGrid1.Columns(5).Width = 2300
End Sub
大家看看我这段代码有什么问题啊```?用语查询的模块 不报错```但就是datagrid中什么都没有 ```

解决方案 »

  1.   

    strSQL = "select * from falt where 现象描述 like '" & precept & "%'"
      

  2.   

    当然没有了,rst中没有内容呀!你可能在QueryExt中给rst赋值 了,但是,rst是局部变量,QueryExt结束就没了,你把dim rst as recordset放在声明里
      

  3.   

    放在声明里了 可是 还是没有````
    上面的 like '" & precept & "%'" 我也试了不行啊~~
      

  4.   


    '执行数据库查询语句
    Public Function QueryExt(ByVal TmpSQLstmt As String) As adodb.Recordset
      '创建Recordset对象rst
      Dim rst As New adodb.Recordset
      
      '连接到数据库
      DB_Connect
      '设置rst的ActiveConnection属性,指定与其关联的数据库连接
      Set rst.ActiveConnection = cnn
      '设置游标类型
      rst.CursorType = adOpenDynamic
      '设置锁定类型
      rst.LockType = adLockOptimistic
      '打开记录集
      rst.Open TmpSQLstmt
      '返回记录集
      Set QueryExt = rst
    End Function
     这个是 QueryExt 函数~