1,用ado与sql建立连接cn,rs,2,选择要输出的表,rs.open "select * from 表 ",cn,3,13,输出到mshflexgrid+++++++++++++++++++++++
以下是例子.
Sub SQLoutGRID()
'==========================
'以下功能实现将sql指定表中内容输出到mshflexgrid表格中
'需引用ado2.1, 需添加控件mshflexgrid
Dim cn As New ADODB.Connection
Dim rs As New Recordset
readstart_local = "p11" '设置sql数据源数据库
cn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=clgl;Data Source=" & readstart_local
cn.Open
rs.CursorLocation = adUseClient
rs.Open "select * from 稽核前台账", cn, 3, 1 '打开表
If rs.RecordCount <> 0 Then
With MSHFlexGrid1
    .Cols = rs.Fields.Count  '设定列数
    .Rows = rs.RecordCount + 1 '设定行数
    For k = 0 To rs.Fields.Count - 1
        .TextMatrix(0, k) = rs.Fields(k).Name '设置表头项
    Next
    For i = 1 To rs.RecordCount
        For j = 0 To rs.Fields.Count - 1
        .TextMatrix(i, j) = rs.Fields(j) '输出到表格
        Next
        rs.MoveNext
    Next
End With
MsgBox "输出表格完成"
Else
MsgBox "此表中没有数据!"
End If
'结束输出
End Sub

解决方案 »

  1.   

    Dim ary_strFieldNameAndValue() As String
    Dim lngi As Long
    Dim lngJ As LongReDim ary_strFieldNameAndValue(0 To 1, 0)'第一维记录字段名,第二维记录内容
    Set adoRecordSet = adoCommand.ExecuteFor lngi = 0 To adoRecordSet.Fields.Count -1
        
        ary_strFieldNameAndValue(0, lngi) = adoRecordSet.Fields(lngi).Name
        ’这是记录字段名
        ary_strFieldNameAndValue(1, lngi) = adoRecordSet.Fields(lngi).value
    ===================================    
    Next lngi===========================
    www.myvc.net欢迎你的加盟!
      

  2.   

    for i=0 to rs.fields.count-1
    用rs(i).value可以得到第i个字段的值,不用知道字段名,就可以实现
    next