Это мой код:RecordCount недвижимости не работает
Dim conServer As ADODB.Connection
Dim rstResult As ADODB.Recordset
Dim strSQL As String
Set conServer = New ADODB.Connection
conServer.ConnectionString = "PROVIDER=SQLOLEDB; " _
& "DATA SOURCE=192.168.0.204; " _
& "INITIAL CATALOG=REPORTDB2; " _
& "User ID=sa;" _
& "Password="
conServer.Open
Set rstResult = New ADODB.Recordset
strSQL = "set nocount on; "
strSQL = strSQL & "select * from Table1;"
rstResult.ActiveConnection = conServer
rstResult.Open strSQL
MsgBox rstResult.RecordCount, , rstResult.Fields(1).Value
With rstResult
.MoveFirst
Do Until rstResult.EOF
Debug.Print abc & "," & .Fields(0) & "," & .Fields(1).Value
.MoveNext
Loop
End With
MSGBOX линия показывает мне -1 как RecordCount, но то же самое время rstResult.Fields (1) .Value, показывающий первое значение записей. Даже я проверяю «do until ... loop» все записи в msgbox или в окне отладки отлично отображаются. Проблема заключается в том, что он не отображает или не использует свойство recordcount.
'RecordCount' указывает только количество записей после обращения к последней записи. Если вы поместите 'MsgBox rstResult.RecordCount' после своего цикла, он будет работать. См. Https://msdn.microsoft.com/en-us/library/office/ff821452.aspx – Ambie