我使用一个adodc控件连接到access数据库,设置recordsourse属性为其中一个表名。在使用datagrid控件连接到adodc,却只显示表所有的字段名,没有数据。代码如下:
Ado.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\Study\vb space\caie.mdb;Persist Security Info=False"
    
Ado.RecordSource = "客户档案查询"Set DataGrid_客户档案查询.DataSource = Ado以上语句如果在form_load 和 text_change事件中,就只显示"客户档案查询"表所有的字段名。如果把Set DataGrid_客户档案查询.DataSource = Ado放到一个command控件中,按下command按钮就能显示所有数据。或者放在text_lostfocus事件中,当text失去焦点时也能显示全部数据。请各位大哥帮忙,看是什么问题?

解决方案 »

  1.   

    我来凑一下热闹:
    Private Sub DataGrid1_Click()
    If Adodc1.Recordset.EOF Then
      If Adodc1.Recordset.RecordCount = 0 Then
        MsgBox "库中没有记录。" 
        Exit Sub
      End If
      Adodc1.Recordset.MoveFirst
    End If
    End SubPrivate Sub Form_Load()
    If Not Adodc1.Recordset.RecordCount = 0 Then
      Adodc1.Recordset.MoveFirst
      Call DataGrid1_Click
    End If
    End Sub
      

  2.   

    怪事啊,我用sql server试验是对的哦!
    用access再试验一下看看!
      

  3.   

    用access试验也是对的啊!
    Private Sub Form_Load()  Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db1.mdb;Persist Security Info=False"
      Adodc1.RecordSource = "c"
      Set DGrid.DataSource = Adodc1
      
    End Sub
    代码如上,全部字段都出来了哦!
      

  4.   

    加一个datagrid.refresh
    把这段程序放到 form_ativate 事件里
    设置datagrid 的datasource属性 要先保证 他是enabled =true
      

  5.   

    不好意思,忘了说我在用adodc连接数据库之前,使用command对象对"客户档案查询"表进行啦添加操作。如果不执行command对象,可以显示。
    我第一次是将"客户档案查询"表中数据全部删除,第二次在选择一些数据放到"客户档案查询"表中。