在我的VBA子例程中,我想从复杂查询中创建一个新表
(qryA UNION ALL qryB UNION ALL qryC)
strSQL = "select * into tblNew from qryComplex"
后续查询(超过3个初始值)需要在打开的表单中找到的参数(假设为4).
通过选择,它的工作原理,例如,
Set qdf = db.CreateQueryDef("", strSQL)
qdf.Parameters(0) = Forms!frmMain.txtF1
qdf.Parameters(1) = Forms!frmMain.txtF2
qdf.Parameters(2) = Forms!frmMain.txtF3
qdf.Parameters(3) = Forms!frmMain.txtF1
qdf.Execute
我怎么知道所需的订单是确定性的?
如何确定订单和内容,而无需深入了解后续查询并尝试组合?
最佳答案 Access支持PARAMETERS子句,即使某些/所有参数仅用于基础查询,也可以确定参数的顺序.您只需确保为所有参数命名,并使用正确的名称和类型. PARAMETERS子句后面必须跟一个分号.
您可以使用Access中的“参数”对话框来帮助您:
假设您的所有参数都需要是短文本,您的查询将如下所示:
PARAMETERS Param1 Text ( 255 ),Param2 Text ( 255 ), Param3 Text ( 255 );
SELECT * INTO tblNew
FROM qryComplex;