我正在使用MS Access 2010数据库。我需要一个组合框来显示一个sql SELECT语句的结果,但是这次我的sql语句很长时间被赋予了组合框的RowSource属性。
为了解决这个问题,我创建了一个访问查询,并将其存储在访问数据库查询部分,其名称类似于“myQuery”。它的sql代码类似但比以下查询长得多:
PARAMETERS [myParameter] Long;
SELECT Field1, Field2, Field3
FROM [myTable]
WHERE [myTable]![FieldN] = [myParameter]
如您所见,查询有一个参数。
创建查询后,我改变了VB代码:
Me.myCombo.RowSource = "myQuery" 'The name of the query I created before
Me.myCombobox.Requery 'Execute the query to populate the combobox
它工作正常但在每次执行之前MS-Access会显示一个弹出窗口,询问参数的值。
¿每次需要新的填充时,如何避免此弹出窗口并将值与参数绑定或绑定?像
这样的东西Me.myCombo.RowSource = "myQuery" 'The name of the query I created before
Me.myCombobox.RowSource.Parameters("[myParameter]") = Me.formField1.Value
Me.myCombobox.Requery 'Execute the query to populate the combobox
还有其他方法可以解决这个问题吗?
由于
答案 0 :(得分:1)
由于您的参数基于表单中的字段,因此我只需直接引用表单字段替换查询中的参数。
SELECT Field1, Field2, Field3
FROM [myTable]
WHERE [myTable]![FieldN] = [Forms]![FormName]![formField1]