3

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

我知道替代方案.. 使用参数构建我自己的查询字符串,或操作 querydefs 的 sql。但我不喜欢他们。

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

任何人的想法?

问候

江木

4

2 回答 2

4

你说:

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

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

一个虚拟查询的例子是这样的:

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

EmployeeID这将使用字段、FirstNameLastName、填充字段列表框DoB。显然,您希望您的虚拟查询字段名称反映运行时的字段名称。

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

于 2012-04-04T15:40:10.237 回答
0

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

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

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

并且从查询中删除参数后,您可以在表单、报告、导出例程和各种用途中自由使用查询。

于 2012-04-05T09:13:34.017 回答