Как проверить все поля набора записей из запроса ADO?
Я хотел бы видеть, есть ли команда, чтобы показать всю запись (строку) сразу. К настоящему времени я только нахожу способ показать отдельные столбцы. Я использую ADO соединение с mdb доступа MS. Благодарю. Кстати, я не знаю, как я могу напечатать сообщение в форме VB MS Access....... VB предоставляет консоль, чтобы показать это? Отладка. Печать не дает мне ничего, я только успех с 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
3 ответа
Прежде всего, Debug.Print
печатает в Immediate Window в редакторе VB[A]. Если он не отображается, нажмите Ctrl-G.
Во-вторых, нет единой команды, чтобы показать всю запись, вам придется собрать ее так, как это делает Ксавину в своем ответе. Вот синтаксис 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
Я думаю, что канал ("|") делает лучший разделитель, чем пробел, так как он менее вероятен в ваших данных.
Для выходной консоли я не знаю (так как я не знаю VB), но для показа всей записи сразу можно использовать foreach
цикл на rstRecordSet.Fields
,
В C# я бы написал так:
string msg = "";
foreach (Field f in rstRecordSet.Fields)
{
msg += f.Value + " ";
}
MessageBox.Show(msg);
Теперь вам просто нужно найти синтаксис VB...
Вместо того, чтобы строить свою собственную строку, по частям, вы можете использовать метод GetString объекта Recordset:
Debug.Print records.GetString(adClipString, 1)
К сожалению, побочным эффектом этого метода является удаление записи из набора записей.