我在Access中创建参数化查询,并希望从Word中的VBA模块中的ADO代码调用它们。但是,我不确定调用参数化查询的语法。似乎无法在线找到一个好的代码参考。
如果我有qryGetRecordByFirstLast接受Firstname和Lastname作为parms,我该如何在VBA模块中对ADO中的执行进行编码?
答案 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