Ms access VBA ADODB-从参数化查询获取参数
我试图使用以下代码从MS Access数据库中存储的参数化查询中获取参数名称:Ms access VBA ADODB-从参数化查询获取参数,ms-access,vba,ado,Ms Access,Vba,Ado,我试图使用以下代码从MS Access数据库中存储的参数化查询中获取参数名称: Dim cmd As New ADODB.Command Dim cnn As ADODB.Connection Set cnn = CurrentProject.Connection With cmd .ActiveConnection = cnn .CommandType = adCmdStoredProc .NamedParameters = True .CommandTex
Dim cmd As New ADODB.Command
Dim cnn As ADODB.Connection
Set cnn = CurrentProject.Connection
With cmd
.ActiveConnection = cnn
.CommandType = adCmdStoredProc
.NamedParameters = True
.CommandText = "nameOfParameterizedQuery"
.Parameters.Refresh
End With
......
但是,它不起作用,因为参数集合仍然为空。我尝试将参数定义为在SQL查询中的SELECT语句之前添加以下代码:
PARAMETERS [parameter1] Datatype, [parameter2] Datatype .... ;
SELECT ....
但我没有成功。我读到Microsoft Access ODBC和OLE DB驱动程序目前不支持自动参数填充
这是真的吗?有没有办法使用ADO从MS Access数据库中的参数化查询中获取参数名称
提前感谢。是的,可以使用ADODB执行此操作。您只需对VB代码进行一些小的编辑(见下文):
您可能还喜欢:
我希望这会有所帮助。是的,使用ADODB可以做到这一点。您只需对VB代码进行一些小的编辑(见下文):
您可能还喜欢:
我希望这会有所帮助。我知道,但我习惯使用ADO,我希望保持这种方式,因为从我的角度来看,它使将来迁移到另一个数据库更容易。我知道,但我习惯使用ADO,我希望保持这种方式,因为从我的角度来看,它使将来迁移到另一个数据库更容易。
Dim cmd as New ADODB.Command
Dim cnn as New ADODB.Connection
cnn.Provider = "blah"
cnn.Open = "blah;blah"
cmd.ActiveConnection = cnn
cmd.CommandText = "NameOfParameterizedQuery"
cmd.Parameters.Append cmd.CreateParameter(, adDate, adParamInput, Value:=#6/1/17#)
Range("A1").CopyFromRecordset Cmd.Execute
cnn.Close
Set cmd = nothing
Set cnn = nothing