0
我有一个带有文本字段和子窗体的访问表单。文本字段是一个名为myQuery的查询的参数,子表单显示myQuery的结果。访问:使用DAO.recordset运行查询,从另一个查询中进行选择
在VBA我要访问更改为MyQuery的第一排,所以我试图用DAO.recordsets
像这样:
dim query as string
dim rs as DAO.recordset
query = "select top 1 * from myQuery"
set rs=CurrentDb.OpenRecordset(query)
我得到一个错误,说“参数太少”。
如果我去创建查询选项卡,并运行SQL代码“从myQuery中选择顶部1 *”它的作品。我猜测,通过CurrentDb.OpenRecordset
运行查询时,您不能像使用常规SQL那样将另一个查询视为表。如何使用OpenRecordset
?
Regards
您保存的查询引用了窗体上的控件,因此当您调用保存的查询时,它会尝试将“Forms!SomeForm!TextField”作为参数进行计算,而不是查看实际控件本身。取消保存的查询并将完整的查询文本放入查询字符串变量中。 –
谢谢,通过一些调整,我能够让你的方法工作。 – Carl
或者如果查询足够复杂以至于您不想将整个SQL放入VBA中,则可以使用以下命令:http://stackoverflow.com/a/32118340/3820271 – Andre