2011-03-23 9 views
5

Me gustaría ver si hay un comando para mostrar todo el registro (fila) a la vez. Por ahora solo encuentro el método para mostrar columnas individuales. Estoy usando una conexión ADO al mdb del ms access. Gracias. Por cierto, no sé cómo puedo imprimir un mensaje en el formulario VB de MS Access ....... ¿vb proporciona una consola para mostrar eso? Debug.Print no me dan nada, sólo éxito con MsgBox ...¿Cómo verificar todos los campos del conjunto de registros de la consulta 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 

Respuesta

9

En primer lugar, Debug.Print imprime a la ventana Inmediato en el VB [ A] Editor. Si no se muestra, presione Ctrl-G.

En segundo lugar, no hay un solo comando para mostrar el registro completo, tendrá que ensamblarlo como lo hace Xavinou en su respuesta. Ésta es la sintaxis VB, haciendo caso omiso de la creación de registros & EOF cheque (Tenga en cuenta que he declarado las variables - que está utilizando la opción explícita, sí?):

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 

creo que la tubería ("|") hace una mejor separador que un espacio, ya que es menos probable que ocurra en sus datos.

+1

+1 Nota: si desea inspeccionar rápidamente el contenido de un conjunto de registros completo, puede volcar todo el conjunto de registros en una hoja de cálculo de Excel utilizando el método 'CopyFromRecordset' de un objeto de rango de Excel; consulte http://msdn.microsoft .com/es-us/library/bb223288% 28v = office.12% 29.aspx – barrowc

+1

CTRL + G ........ NUNCA VIO UNA CONSOLA ANTES, ¡GRACIAS! – lamwaiman1988

+0

También puede obtenerlo con Ver | Ventana Inmediata ... o Personaliza tu barra de herramientas con un botón para ella. – RolandTumble

2

Para la consola de salida, no sé (ya no sé VB), pero para mostrar el conjunto grabar a la vez, puede usar un bucle foreach en rstRecordSet.Fields.

En C#, lo escribiría como:

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

Ahora, sólo tiene que encontrar la sintaxis VB ...

Cuestiones relacionadas