如何编写文本框以便多个值用引号分隔?

时间:2012-06-05 02:32:25

标签: sql ms-access-2007

大家早上好!

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

代码如下所示:

示例:

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

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

示例:

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

问题是当我在查询工作的表单上的文本框中输入11111但是当我输入11111,22222时查询不起作用。

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

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

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

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

谢谢大家。

1 个答案:

答案 0 :(得分:0)

这些价​​值来自哪里?列表框是不可能的?不要忘记,如果可以引用表格,则可以轻松地在列表框中添加和删除值,甚至更容易。选择值后,可以迭代它们以创建所需的子句。

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