在Word中从VBA运行Access QueryDefs

时间:2009-02-14 18:33:31

标签: vba stored-procedures ado word-vba

我在Access中创建参数化查询,并希望从Word中的VBA模块中的ADO代码调用它们。但是,我不确定调用参数化查询的语法。似乎无法在线找到一个好的代码参考。

如果我有qryGetRecordByFirstLast接受Firstname和Lastname作为parms,我该如何在VBA模块中对ADO中的执行进行编码?

1 个答案:

答案 0 :(得分:1)

以下是一些注释

'Set up a command object '
Set cmd = CreateObject ("ADODB.Command")
cmd.CommandType = 4 'adCmdStoredProc '
cmd.CommandText = "qryGetRecordByFirstLast"

'adVarWChar = 202'
'adParamInput=1'
set par=cmd.CreateParameter ("Firstname",202,1,1,strFirstname)
cmd.Parameters.Append par

set par=cmd.CreateParameter ("Lastname",202,1,1,strLastname)
cmd.Parameters.Append par

dbfile="C:\Docs\LTD.mdb")
Set objConn=CreateObject("ADODB.Connection")

cmd.ActiveConnection = objConn

Set rs = CreateObject ("ADODB.Recordset")
rs.Open cmd, , 0, 1 'adOpenForwardOnly, adLockReadOnly'

blnFound = False

If Not rs.EOF Then
    astrRecord = rs.GetRows()
    intRecFirst  = LBound(astrRecord , 2)
    intRecLast   = UBound(astrRecord , 2)

    blnFound = True
End If