0

大家,早安!

我正在试验一个 Access 2007 表单,该表单包含一个将值插入查询的文本框。我希望能够在文本框中输入多个值。这些值用逗号分隔,但也包含在引号中。文本框中的值插入到 HAVING 子句中。

代码如下所示:

例子:

HAVING Max([COLOR].[COLOR_CODE] In ("11111","22222"))

现在我想在表单上使用文本框来插入值,但我需要处理引号。因此,我在 SELECT 语句和 HAVING 子句中都将值转换为数字。

例子:

HAVING Max(CLng([COLOR].[COLOR_CODE] In ([Forms].[MyForm]![txtColorCode])))

问题是当我在表单上的文本框中输入 11111 时,查询有效,但是当我输入 11111,22222 时,查询无效。

所以我有这个想法;如果我可以输入,例如: 11111,22222,33333,44444并使用代码将值格式化为"11111","22222","33333","44444"

这样我就可以放弃转换/CLng,只使用带有字符串的 IN 运算符。

如何格式化或转换以便将其插入到查询中。也许在提交?

我真的很感激和输入或想法。

感谢大家。

盖伊

4

1 回答 1

0

这些价值观从何而来?列表框是不可能的吗?不要忘记,您可以很容易地从列表框中添加和删除值,如果您可以引用表格,则更容易。一旦你选择了值,你就可以遍历它们来创建你需要的子句。

您将始终必须在 VBA 中构建查询,您将无法在查询设计窗口中引用这样的文本框。

于 2012-06-05T09:15:15.937 回答