在Word中从VBA运行Access QueryDefs
我正在Access中创建参数化查询,并希望通过Word中VBA模块中的ADO代码调用它们。但是,我不确定调用参数化查询的语法。似乎在网上找不到好的代码参考 如果我有一个接受Firstname和Lastname作为参数的qryGetRecordByFirstLast,我该如何从VBA模块在ADO中执行它呢?这里有一些注释在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 '
'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