簡體   English   中英

Debug.打印表格中的所有數據

[英]Debug.Print all data in a table

我正在嘗試使用記錄集代碼循環遍歷表中的所有字段並調試。打印它們的值和字段名稱的順序你自然會讀取表,即從左到右跨列然后到下面的行

這是一個示例表

我已經完成了我想做的事情,但只針對第一行。 這是代碼:

Sub RecordSets()
Dim db As Database
Dim rs As Recordset
Dim i As Long
Set db = CurrentDb
Set rs = db.OpenRecordset("tbl1")

        For i = 0 To rs.Fields.Count - 1
                Debug.Print rs.Fields(i).Name
                Debug.Print rs.Fields(i).Value
        Next

rs.Close
db.Close
End Sub

立即 window 產生以下結果:

    Category
    Clothing
    Item
    Shirt
    Price
    5

這是頂行,完全符合我的要求。 但是我無法讓任何代碼為其他行完成完全相同的事情。 我 99% 確定我需要將 Do Until.EOF 循環與 For...Next 循環結合使用,但無論我嘗試什么都無法獲得結果,或者我在無限查詢中鎖定了訪問權限。

謝謝你的幫助

未經測試:

Sub RecordSets()
    Const SEP as String = vbTab
    Dim db As Database
    Dim rs As Recordset, numFlds As Long
    Dim i As Long, s As String, sp as string
    Set db = CurrentDb
    Set rs = db.OpenRecordset("tbl1")

    numFlds = rs.Fields.Count

    'print the headers (field names)
    For i = 0 To numFlds  - 1
        s = s & sp & rs.Fields(i).Name
        sp = SEP '<< add separator for subsequent items
    Next
    Debug.Print s

    'print the data
    sp = ""  '<< clear the separator
    Do While Not rs.EOF
        For i = 0 To numFlds - 1
            s = s & sp & rs.Fields(i).Name
            sp = SEP
        Next
        Debug.Print s
        rs.MoveNext
    Loop

    rs.Close
    db.Close
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM