无法设置连接字符串

时间:2014-08-08 20:39:25

标签: access-vba

我有一个表格全部设置,我试图返回一个记录集。我已经尝试过这百万种方式并获得各种错误信息。我能看到的情况是我的连接字符串没有经过。我检查了我的拼写,并且验证了sp在数据库中。

   Dim cnn As ADODB.Connection
   Dim rs As ADODB.Recordset
   Dim strSQL As String
   Dim strOutput As String

   strSQL = " exec my sp"
   cnn.connectionstring = "my connectionstring which is good"
   cnn.open

   rs.open strSQL, cnn

   Do Until rs.EOF  'error here, Operation is not allowd when object is closed
        strOutput = strOutput + rs.Fields(1)
        rs.MoveNext
   Loop

   MsgBox strOutput

有点卡在那里,我已经秃了所以我不能再把头发拉了出来。请提供一些指导。

编辑:我已将SET NOCOUNT ON添加到我的sp中,似乎rs已打开,但现在我的错误出现在下一行,"项目无法在所请求的集合中找到名称或序数"

2 个答案:

答案 0 :(得分:0)

我无法测试代码的最后一部分用于设置和打开连接尝试更改代码,如下所示:

Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim strSQL As String
Dim strOutput As String

strSQL = " exec my sp"
Set cnn = New ADODB.Connection
cnn.Open "Your connection string"
Set rs = New ADODB.Recordset
rs.Open strSQL, cnn, adOpenStatic

答案 1 :(得分:0)

对于遇到这个问题的任何人来说,我的问题实际上非常简单。记录集设置为从sp中返回一个值并输出参数。 Recordset字段从0开始,而不是1,因此我的错误。

strOutput = strOutput + rs.Fields(0)

这就是我需要做的一切。