【发布时间】:2016-02-12 23:25:30
【问题描述】:
我有以下代码可以正确检索数据,但始终为 rs.RecordCount 返回值 -1。请帮忙。
Sub TEST()
Dim rs As Object
Set rs = CreateObject("ADODB.Recordset")
Dim SQLSTR As String, MYVAL As String
MYVAL = InputBox("Enter Query")
SQLSTR = " " & MYVAL & ""
CONNECT_TO_DWHS
rs.Open SQLSTR, PERSONALDBCONT
ActiveSheet.Cells(2, 1).CopyFromRecordset rs
ActiveSheet.Cells(1, 1).Select
Debug.Print rs.RecordCount
CLOSE_CONNECTION_TO_SQL
End Sub
【问题讨论】:
-
在调用 rs.RecordCount 之前尝试 rs.MoveLast
-
嗨@cboden,我收到“行集不支持向后获取”错误
-
然后在调用 rs.open 方法时使用 adOpenStatic (3) 或 adOpenKeyset (1) 作为第三个参数。如果您在项目中设置了对 ADODB 的引用,那么您可以使用命名值...如果不是简单地使用括号中的数值或为其定义一个常量。
标签: sql excel record-count vba