2011-03-23 41 views
5

我想看看是否有命令一次顯示整個記錄(行)。現在我只找到顯示單個列的方法。我正在使用一個ADO連接到ms訪問的mdb。謝謝。順便說一下,我不知道如何在MS Access的VB表單中打印消息........ vb是否提供了一個控制檯來顯示它? Debug.Print不給我什麼,我只跟MSGBOX成功...如何從ADO查詢中檢查記錄集的所有字段?

With cmdCommand 
    .ActiveConnection = conConnection 
    .CommandText = "SELECT * from tableA" 
    .CommandType = adCmdText 
    End With 

    With rstRecordSet 
    .CursorType = adOpenStatic 
    .CursorLocation = adUseClient 
    .LockType = adLockReadOnly 
    .Open cmdCommand 
    End With 

    If rstRecordSet.EOF = False Then 
     rstRecordSet.MoveFirst 
     Do 

      MsgBox rstRecordSet.Fields(0) & " " & rstRecordSet.Fields(1) 

      rstRecordSet.MoveNext 
     Loop Until rstRecordSet.EOF = True 
    End If 

回答

9

首先,Debug.Print打印到即時窗口在VB [ A]編輯。如果沒有顯示,請按Ctrl-G。

其次,沒有一個統一的命令來顯示整個記錄,你必須裝配認爲Xavinou確實在他(她?)答案的方式。這裏的VB語法,忽略記錄創造& EOF檢查(請注意,我聲明的變量 - 你正在使用顯式的選項,是嗎?):

Dim fld As Field 
Dim msg As String 

    For Each fld In rstRecordSet.Fields 
     msg = msg & fld.Value & "|" 
    Next 

Debug.Print msg 'or MsgBox msg 

我認爲管道(「|」)使得更好的分隔符而不是空格,因爲它不太可能出現在數據中。

+1

+1 NB,如果你想快速檢查整個記錄的內容,那麼你可以轉儲到使用Excel的範圍對象的'CopyFromRecordset'方法的Excel工作表的整個記錄​​ - 見http://msdn.microsoft .com/en-us/library/bb223288%28v = office.12%29.aspx – barrowc 2011-03-24 00:13:53

+1

CTRL + G .......從未見過控制檯,感謝! – lamwaiman1988 2011-03-24 01:11:38

+0

您也可以通過View |查看立即窗口...或用一個按鈕自定義您的工具欄。 – RolandTumble 2011-03-24 18:18:25

2

對於輸出控制檯,我不知道(因爲我不知道VB),但顯示整個立刻記錄,您可以在rstRecordSet.Fields上使用foreach循環。

在C#中,我會寫它想:

string msg = ""; 
foreach (Field f in rstRecordSet.Fields) 
{ 
    msg += f.Value + " "; 
} 
MessageBox.Show(msg); 

現在,你只需要找到VB語法...

相關問題