0

全部,

我已经尝试通过该网站进行搜索,但现在我无法找到这个问题的答案。如果有人能指出我正确的方向 - 我会很感激。

我有一个包含 10 个组合框的表格。一旦用户在 CB1 中选择了一个值,CB2 就会变得可见并处于活动状态。

我正在尝试运行一个动态查询-组合框的选择用于从我的表中选择一个名为“dbo_animals”的列

详细说明:CB1 包含以下值 -

大象, 长颈鹿, 水牛, 老虎, 狮子

一旦用户在 CB1 中选择了大象,CB2 就会激活,接下来我选择老虎。所以查询变得像。该过程可以继续,用户最多可以选择 10 只动物

**SELECT elephant, tiger FROM dbo_animals**

问题:

我可以使用字符串操作创建查询 - 不幸的是,由于设置循环控件的方式 - 查询无法将文本转换为参考

如果我硬编码tempquery = "SELECT [Form]![Animal Finder]![CB1] FROM dbo_animals" MsgBox(tempquery)它看起来像

SELECT Elephant from dbo_animals

这就是我想要的。但是,由于我正在循环通过 CB 控件,因此我将其设置为

tempquery = "SELECT" & " [Form]![Animal Finder]![CB" & i & "] FROM dbo_animals" 

这显示为

SELECT [Form]![Animal Finder]![CB1] FROM dbo_animals

从而给我一个错误,说引用无效。这是有道理的,因为它无法将文本评估为参考。

我怎样才能解决这个问题?或者如何将文本更正为参考?

4

1 回答 1

0

您需要遍历 ListBox 的 Selected 项,并构建一个逗号分隔的列表,然后您就可以将其与 SQLIN子句一起使用:

SELECT * FROM dbo_Animals WHERE filed1 IN ("elephant", "giraffe", "lion")

要构建这样的字符串,您可以在此处找到一些帮助。

于 2013-09-09T17:51:45.530 回答