从预先存储的参数化Access-Query中填充Combobox

时间:2014-05-29 16:37:22

标签: ms-access combobox ms-access-2010 query-parameters

我正在使用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

还有其他方法可以解决这个问题吗?

由于

1 个答案:

答案 0 :(得分:1)

由于您的参数基于表单中的字段,因此我只需直接引用表单字段替换查询中的参数。

SELECT Field1, Field2, Field3
FROM [myTable]
WHERE [myTable]![FieldN] = [Forms]![FormName]![formField1]