1

使用脚本中的后期绑定ADO代码,VBA我得到以下内容:

Dim cn As Object
Dim cm As Object
Dim rs As Object

    'get in touch with the server
    'Create ado objects.
Set cn = CreateObject("ADODB.Connection")
cn.Open strConn
cn.CommandTimeout = 0

Set cm = CreateObject("ADODB.Command")
cm.CommandText = "xxx.dbo.xxxStoredProcName"
Set cm.ActiveConnection = cn

cm.CommandType = 4 'adCmdStoredProc

Set rs = CreateObject("ADODB.Recordset")
Set rs.ActiveConnection = cn

我可以从该行中看到这rs是一个记录集对象,Set rs = CreateObject("ADODB.Recordset")但如果没有注释 (' adCmdStoredProc),我将很难记住是什么cm.CommandType = 4意思。

有没有办法更改此代码,以便我可以坚持后期绑定但使用枚举类型的描述形式CommandTypeEnum而不是数字形式?

4

1 回答 1

2

把它放在标准模块的声明部分

Enum adCommandTypeEnum
    adCmdUnspecified = -1
    adCmdText = 1
    adCmdTable = 2
    adCmdStoredProc = 4
    adCmdUnknown = 8
    adCmdFile = 256
    adCmdTableDirect = 512
End Enum

它会像你早绑定一样工作。如果您返回早期绑定,请确保将其删除。

http://msdn.microsoft.com/en-us/library/windows/desktop/ms675946%28v=vs.85%29.aspx

于 2013-08-07T16:29:08.680 回答