如何从ADO查询中检查记录集的所有字段?

lam*_*988 6 vba ado

我想看看是否有命令一次显示整个记录(行).到现在为止,我只找到显示单个列的方法.我正在使用与ms访问的mdb的ADO连接.谢谢.顺便说一句,我不知道如何在MS Access的VB窗体中打印消息....... vb是否提供了一个控制台来显示?Debug.Print不给我任何东西,我只用MsgBox成功...

   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
Run Code Online (Sandbox Code Playgroud)

Rol*_*ble 11

首先,Debug.Print打印到VB [A]编辑器中的立即窗口.如果未显示,请按Ctrl-G.

其次,没有单一的命令来显示整个记录,你必须按照Xavinou在他(她的)答案中的方式组装它.这是VB语法,忽略记录集创建和EOF检查(注意我已经声明了变量 - 你使用Option Explicit,是吗?):

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 
Run Code Online (Sandbox Code Playgroud)

我认为管道("|")是一个比空间更好的分隔符,因为它不太可能出现在你的数据中.