在Word中从VBA运行Access QueryDefs

在Word中从VBA运行Access QueryDefs,vba,stored-procedures,ado,ms-word,Vba,Stored Procedures,Ado,Ms Word,我正在Access中创建参数化查询,并希望通过Word中VBA模块中的ADO代码调用它们。但是,我不确定调用参数化查询的语法。似乎在网上找不到好的代码参考 如果我有一个接受Firstname和Lastname作为参数的qryGetRecordByFirstLast,我该如何从VBA模块在ADO中执行它呢?这里有一些注释 'Set up a command object ' Set cmd = CreateObject ("ADODB.Command") cmd.CommandType = 4 '

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

如果我有一个接受Firstname和Lastname作为参数的qryGetRecordByFirstLast,我该如何从VBA模块在ADO中执行它呢?

这里有一些注释

'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