Set DataGrid1.DataSource = rsDeleteWorker  
这行语句的错误。把记录集的游标改成adClient(客户游标好象是这么拼的吧。我
E文不好错了不要见怪!)

解决方案 »

  1.   

    rsDeleteWorker.CursorLocation=adUseClient
    rsDeleteWorker.Open sqlDeleteWorker, MyCnn, adOpenDynamic, adLockOptimistic, adCmdText
    这样改一下应该不会有错了。刚才真的拼错了。见笑了。^_^
      

  2.   

    谢谢gaoqi5037(高岐) 
    但为什么Workers表中的数据没有显示在DataGrid1中呢??
      

  3.   

    sqlDeleteWorker = sqlDeleteWorker & " Worker_ID = " & Trim(Text1.Text)
    好象不大对改成(Worker_ID在库中是Str Or Int?)
    sqlDeleteWorker = sqlDeleteWorker & " Worker_ID = "& "'" & Trim(Text1.Text) & "'"
    试试
      

  4.   

    ID是整形的sqlDeleteWorker = "Select * From Workers"
    就这一句就不行啊
    就是没有记录
    为什么呢? 
      

  5.   

    Worker_ID 要是Int就不查询的事。

    Set DataGrid1.DataSource = rsDeleteWorker  
    后加一个
    Datagrid1.Refresh
    试试
      

  6.   

    要是还是不行。你在rsDeleteWorker.Open sqlDeleteWorker, MyCnn, adOpenDynamic, adLockOptimistic, adCmdText后
    加一个msgbox RSdeleteworker.state看看记录集是否打开。
    如打开
    用debug.print rsdeleteworker.fields(0)看看有没记录
      

  7.   

    这个是否跟DataGrid1控件的属性有关啊
      

  8.   

    Dim Con As New ADODB.Connection
    Dim Red As New Recordset
    Private Sub Command1_Click()
        Dim SqlDeleteWorker As String
        Con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Documents and Settings\Administrator.ASZM-GQ\My Documents\000.lxt;Persist Security Info=False"
        Con.Open
        SqlDeleteWorker = "select * from 控制点1"
        Red.CursorLocation = adUseClient
        Red.Open SqlDeleteWorker, Con, adOpenDynamic, adLockOptimistic, adCmdText
        MsgBox Red.State
        Set DataGrid1.DataSource = Red
    End Sub在我这一切正常啊!
      

  9.   

    啊!
    那我有的OLEDB.3.51
    应该跟这个无关吧
      

  10.   

    数据库连接的游标对这段程序影响不大。
    可不可以把你的ConnectionString 粘出来?
      

  11.   

    那我有的OLEDB.3.51
    应该跟这个无关吧有OlEDB.3.51也正常
      

  12.   


    我知道了
    可能是我没有把rsDeleteWorker的赋给DataGrid吧
    我在试试
    谢谢你啦