我在vb中用ADO打开了一个记录集,然后想得到记录中所有的数据,
放到我的Excel表里,语句如下:
Dim rs As Recordset  
Do While Not rs.EOF
        j = j + 1
        For i = 1 To count + 1 Step 1
        Cells(j, i).Value = rs.Fields(i-1)   /出错处!
        
        Next i
        rs.MoveNext
Loop
但是程序出错,我想可能是因为rs.Fields(Index)
中的Index必须是常量,但是如果我要动态的读该怎么做啊?
请帮忙,谢谢!

解决方案 »

  1.   

    請住在當前目錄先新增一個為book1.xls的空表.
    Private Sub Command1_Click()
    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim ex As Object
    Dim i As Long    Set cn = New ADODB.Connection
            cn.CursorLocation = adUseClient
        cn.Open "連線字串"
            Set rs = New ADODB.Recordset
                rs.Open "select * from 表", cn, adOpenKeyset, adLockOptimistic
    Set ex = CreateObject("excel.application")
        If ex.Visible = False Then
            ex.Visible = True
        End If
    ex.workbooks.Open FileName:=App.Path + "\book1.xls"For i = 1 To rs.RecordCount
    ex.cells(i, 1) = rs.Fields(0) - ----字段
    ex.cells(i, 2) = rs.Fields(1)
    Next i