请问如何将MSFlexGrid和adodb相连
就是说如何用ADO(非控件)让MSFlexGrid显示一个数据库的记录

解决方案 »

  1.   

    将一个记录集的 字段赋给它就可以了!!
    msflexgrid1.textmatrix(0,0)=rs.fields("字段“)
      

  2.   


    set msflexgrid1.datasource=rs
      

  3.   

    AndyYong(赤脚小仔) ,你说的方法,我试过了不行,所以才来问的,
     如baiyga(d)说的要是一个一个的赋值不是要用循环才行?
      

  4.   

    set mshflexgrid1.datasource=rs   '带h的flexgrid
      

  5.   

    如果是一行一行加效率很低,如果你只是读取不修改数据可以这样用Dim db As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim lTimer As LongScreen.MousePointer = vbHourglassMSFlexGrid1.Refresh
    lTimer = TimerMSFlexGrid1.Visible = False
    db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Test.mdb;Persist Security Info=False"
    rs.Open "SELECT * FROM COMUNI", db, adOpenStatic, adLockReadOnly
    rs.MoveFirstMSFlexGrid1.Rows = rs.RecordCount + 1
    MSFlexGrid1.Cols = rs.Fields.Count - 1
    MSFlexGrid1.Row = 0
    MSFlexGrid1.Col = 0
    MSFlexGrid1.RowSel = MSFlexGrid1.Rows - 1
    MSFlexGrid1.ColSel = MSFlexGrid1.Cols - 1
    MSFlexGrid1.Clip = rs.GetString(adClipString, -1, Chr(9), Chr(13), vbNullString)
    MSFlexGrid1.Row = 1
    MSFlexGrid1.Visible = TrueSet rs = Nothing
    Set db = NothingScreen.MousePointer = vbDefaultMsgBox "Execution time: " & Timer - lTimer & " sec." & vbCr & "of " & MSFlexGrid1.Rows - 1 & " record"这种方式比
    MSFlexGrid1.Rows = 0
    MSFlexGrid1.Cols = rcs.Fields.Count - 1
    Do Until rcs.EOF
        MSFlexGrid1.AddItem rcs(0) & vbTab & rcs(1) & vbTab & rcs(2) & vbTab & rcs(3) & vbTab & rcs(4) & vbTab & rcs(5) & vbTab & rcs(6) & vbTab & rcs(7)
        rcs.MoveNext
    Loop这种方法开几十倍
      

  6.   

    我试了一下..
    是这样的..msflexgrid这个控件不能绑定到最新的adodata控件,,
    它只可以绑定到旧的数据控件..data注意 两个旧的控件,Data 控件和 RemoteData 控件,可以用做数据源,然而,您不能在运行时将另一个控件或对象的 DataSource 属性设置为这两个控件之一。例如,下列代码将会失败:Set Text1.DataSource = Data1    ' 将会失败!您不能在运行时将 DataSource 设置为
                                  ' 一个内部 Data 控件。要将 Data 控件或 RemoteData 控件作为一个数据源使用,您只能在设计时设置绑定控件的 DataSource 属性。
      

  7.   

    或者是换另一个控件.mshflexgrid
      

  8.   

    msflexgrid这个控件不能绑定到最新的adodata控件,,
    你有没有搞错呀,是可以的。