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