可以在表单加载之前在vba中设置绑定查询的参数吗?

时间:2012-04-04 14:55:04

标签: ms-access

我有一个约束形式。表单的数据源是带参数的查询。 是否可以在表单加载之前在vba中设置参数? 甚至在form_open事件之前弹出参数的弹出窗口:/

我知道其他选择..用参数构建我自己的查询字符串,或者操纵querydef的sql。但我不喜欢他们。

目前我在设计时使用未绑定的表单,并在运行时将它们绑定到parameterqueries。但在设计期间使用未绑定的表格并不是那么方便。

有人有想法吗?

问候

EGI

2 个答案:

答案 0 :(得分:4)

你说:

  

目前我在设计时使用未绑定的表单,并在运行时将它们绑定到parameterqueries。 但在设计时使用未绑定的表单并不是那么方便。

一种替代方法是使用“虚拟”RecordSource,以便在设计时使用绑定表单,但仍然在运行时使用参数查询更新RecordSource。

虚拟查询的示例如下:

SELECT 1 AS EmployeeID, 'John' AS FirstName, 'Doe' AS LastName, #1/1/1980# AS DoB

这会填充字段列表框,其中包含字段EmployeeIDFirstNameLastNameDoB。显然,您希望您的虚拟查询字段名称能够反映字段名称在运行时的含义。

这也可以避免在加载时显示参数弹出窗口的问题。

答案 1 :(得分:0)

实际上,这里的基本解决方案是简单地删除参数而不是更改使用的SQL。访问表单有一个where子句。它们旨在解决这个问题。这意味着您不需要带参数的查询,也不必修改表单或报告sql。

您只需在打开表单时传递where子句。

因此,不需要构建查询字符串的替代方法,也不需要操作querydef的sql的替代方法。此外,还不需要修改表单数据源。

如果从查询中删除了参数,那么您可以在表单,报表,导出例程和各种用途中自由使用查询。