我有一个约束形式。表单的数据源是带参数的查询。 是否可以在表单加载之前在vba中设置参数? 甚至在form_open事件之前弹出参数的弹出窗口:/
我知道其他选择..用参数构建我自己的查询字符串,或者操纵querydef的sql。但我不喜欢他们。
目前我在设计时使用未绑定的表单,并在运行时将它们绑定到parameterqueries。但在设计期间使用未绑定的表格并不是那么方便。
有人有想法吗?
问候
EGI
答案 0 :(得分:4)
你说:
目前我在设计时使用未绑定的表单,并在运行时将它们绑定到parameterqueries。 但在设计时使用未绑定的表单并不是那么方便。
一种替代方法是使用“虚拟”RecordSource,以便在设计时使用绑定表单,但仍然在运行时使用参数查询更新RecordSource。
虚拟查询的示例如下:
SELECT 1 AS EmployeeID, 'John' AS FirstName, 'Doe' AS LastName, #1/1/1980# AS DoB
这会填充字段列表框,其中包含字段EmployeeID
,FirstName
,LastName
,DoB
。显然,您希望您的虚拟查询字段名称能够反映字段名称在运行时的含义。
这也可以避免在加载时显示参数弹出窗口的问题。
答案 1 :(得分:0)
实际上,这里的基本解决方案是简单地删除参数而不是更改使用的SQL。访问表单有一个where子句。它们旨在解决这个问题。这意味着您不需要带参数的查询,也不必修改表单或报告sql。
您只需在打开表单时传递where子句。
因此,不需要构建查询字符串的替代方法,也不需要操作querydef的sql的替代方法。此外,还不需要修改表单数据源。
如果从查询中删除了参数,那么您可以在表单,报表,导出例程和各种用途中自由使用查询。