用vb做成一个查询的小程序,可是运行时就出现错误,请高手指点!!
Dim x, i     '定义变量
Public Sub viewdata()      '定义显示数据的函数
 For i = 0 To 4
  If Data1.Recordset.Fields(i) <> "" Then kh(i).Text = Data1.Recordset.Fields(i) Else kh(i).Text = ""
 Next i
End SubPrivate Sub Form_Load()
  Data1.DatabaseName = App.Path & "\data.mdb"        '自动识别数据库路径
End SubPrivate Sub Text1_Change()
Data1.RecordSource = "select * from ren where (kh." & "工号" & " " & "like " + Chr(34) + Text1.Text + "*" + Chr(34) + ")"
Data1.Refresh
Call viewdata
End SubPrivate Sub Comend_Click()
  End
End Sub这事源代码,出现错误后,如果点击调试,则指向“Data1.Refresh”!

解决方案 »

  1.   

    这样试试看
    Set DataGrid1.DataSource = Nothing
    strSql = "select * from usr"
    Set Module1.MyRs = Module1.DataShow(strSql, strConn)
    Set DataGrid1.DataSource = MyRs
    DataGrid1.Refresh
      

  2.   

    Data1.RecordSource = "select * from ren where kh.工号 like %" & Text1.Text & "%"
      

  3.   

    嗯?你的kh.工号是哪里的?你那只有表ren呀,kh是什么东西?
      

  4.   

    楼主的这条代码好麻烦
    If Data1.Recordset.Fields(i) <> "" Then kh(i).Text = Data1.Recordset.Fields(i) Else kh(i).Text = ""我觉得这样比较简单
    kh(i).Text=Data1.Recordset.Fields(i).Value & VBNullString