我一直在寻找,但没有找到一个好的答案。 我发现我可以在VBA程序中生成代码并从那里运行它,但是,我正在研究别人的设计并且不想更改它。
在传递查询的一部分中,我们有类似的内容:
WHERE (((ID='380')
我希望380是代码,它将查看UserForm组合框,为我的数据库写一个返回值WHERE column = combobox.value
的查询
我希望这是有道理的,让我知道是否有人知道如何使用它。 感谢。
答案 0 :(得分:0)
您可以设置组合框以将所选值放入单元格中,然后通过参数将查询链接到该单元格的值。
干杯 -
答案 1 :(得分:0)
经过大量研究并进行了一些研究后,似乎只有服务器上的存储过程(我不能做)或创建字符串并将该字符串传递给传递查询是我的选择。 我将继续追求字符串选项,因为它似乎是我在这里约束的最佳选择。如果有人提出任何想法,那将有所帮助,让我知道。 感谢。
答案 2 :(得分: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