我有一个绑定表单。表单的数据源是一个带参数的查询。是否可以在加载表单之前在vba中设置参数?参数弹出窗口甚至在form_open事件之前弹出:/
我知道其他选择。。使用参数构建自己的查询字符串,或者操作querydefs的sql。但是我不喜欢它们。
目前,我在设计时使用未绑定的表单,并在运行时将它们绑定到参数查询。但是在设计时使用未绑定的表单就不那么方便了。
有人知道吗?
问候
Egi
你说:
目前,我在设计时使用未绑定的表单,并在运行时将它们绑定到参数查询但是在设计时使用未绑定的表单就不那么方便了
一种替代方案是使用"伪"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的替代方案。另外,也不需要修改表单数据源。
从查询中删除参数后,您就可以在窗体、报表、导出例程和各种用途中自由使用查询。