Private Sub Form_Load()
Dim cn
Dim fs
Dim sql
Set cn = CreateObject("adodb.connection")
    cn.Open "provider=microsoft.jet.oledb.4.0;data source=" & App.Path + "\数据库" + "\system.mdb"
Set fs = CreateObject("adodb.recordset")
    sql = "select * from 人员资料表"
    fs.Open sql, cn, 3, 3
 Set DataGrid1.DataSource = fs
    DataGrid1.Refresh
End Sub
为什么在datagrid1中不能显示数据库中的记录!

解决方案 »

  1.   

    Private Sub Form_Load()
    Dim cn as New ADODB.Connection
    Dim fs as New ADODB.Recordset
    Dim sql as string
         cn.Open "provider=microsoft.jet.oledb.4.0;data source=" & App.Path + "\数据库" + "\system.mdb"
        sql = "select * from 人员资料表"
        fs.CursorLocation = adUseClient
        
        fs.Open sql, cn, adOpenDynamic, adLockOptimistic
     Set DataGrid1.DataSource = fs
        DataGrid1.Refresh
    End Sub
      

  2.   

    Private Sub Form_Load()
    Dim cn
    Dim fs
    Dim sql
    Set cn = CreateObject("adodb.connection")
        cn.Open "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\数据库" & "\system.mdb"
    Set fs = CreateObject("adodb.recordset")fs.CursorLocation = adUseClient'使用客户端游标sql = "select * from 人员资料表"
        fs.Open sql, cn, 3, 3
     Set DataGrid1.DataSource = fs
        DataGrid1.Refresh
    End Sub
      

  3.   

    要记得引用ADO对象库。Private Sub Form_Load()
    Dim cn as new adodb.connection
    Dim fs as new adodb.recordset
    Dim sqlstr as string
    cn.Open "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\数据库" & "\system.mdb"
    fs.CursorLocation = adUseClient'使用客户端游标
    sqlstr = "select * from 人员资料表"
    fs.Open sql, cn, 3, 3
    Set DataGrid1.DataSource = fs
    DataGrid1.Refresh
    End Sub
      

  4.   

    怎么样限制datagrid中每一列的宽度,我希望能用代码能控制
      

  5.   

    好像有个属性是colwidth,你到属性列表中找找有没有,如果有就是它了。
      

  6.   

    关键就是fs.CursorLocation = adUseClient这一句!