1

我一直在寻找一些东西,但没有找到一个好的答案。我发现我可以在 VBA 过程中生成代码并从那里运行它,但是,我正在研究其他人的设计并且不想对其进行太多更改。

在该传递查询的一部分中,我们有如下内容:

WHERE (((ID='380')

我希望 380 是查看 UserForm 组合框的代码,为我的数据库编写一个返回值的查询WHERE column = combobox.value

我希望这是有道理的,如果有人知道如何使用它,请告诉我。谢谢。

4

3 回答 3

0

您可以将组合框设置为将所选值放入单元格中,然后通过参数将查询链接到该单元格的值。

干杯 -

于 2014-01-21T14:54:47.043 回答
0

在环顾四周并进行了一些研究之后,似乎只有服务器上的存储过程(我不能这样做)或创建一个字符串并将该字符串传递给传递查询是我的选择。我将追求 string 选项,因为它似乎是我的限制条件的最佳选择。如果有人后来提出任何想法会有所帮助,请告诉我。谢谢。

于 2014-01-21T15:35:38.860 回答
0

一种方法是将模板查询存储在传递查询中,例如:

select * from table where ID = [ID]

然后使用 VBA 读取查询,替换 ID,将其写入另一个准备好的查询,然后执行它。像这样的东西:

Sub zzz()

    Dim SQL As String

    With CurrentDb
        SQL = .QueryDefs("PassThruQueryTemplate").SQL
        .QueryDefs("PassThruQuery").SQL = Replace(SQL, "[ID]", "380")
        .Execute "PassThruQuery"
    End With

End Sub
于 2019-01-16T21:01:49.487 回答