【问题标题】:Access, query "LIKE" with Mask使用 Mask 访问、查询“LIKE”
【发布时间】:2017-12-14 13:43:37
【问题描述】:

我有一个访问掩码,用户在其中输入一个值,我想提取包含指定值的结果。

我试着写这样的东西:

SELECT Field1, Field2, Field3
FROM Table
WHERE Table.Field1 LIKE '*[Forms]![myForm]![Value]*';

但我不知道如何将动态变量传递给 LIKE 表达式。 特别是LIKE '*[Forms]![myForm]![Value]*'这部分不知道怎么正确表达。我想它应该是类似LIKE '*'+[Forms]![myForm]![Value]+'*' 但我不知道如何连接。

谢谢

【问题讨论】:

  • 您需要解释[Forms]![myForm]![Value] 的含义。你想用myForm中的值替换那个文本吗?
  • 恐怕我们需要更多信息,因为“不起作用”并不是很有帮助。您能否举例说明您正在访问的数据、您想要的结果以及您得到的结果?
  • @underscore_d 确切地说,这是掩码采用的变量。我不知道如何连接星号 * 和变量。
  • 您是否尝试使用& 运算符的标准字符串连接?例如"*" & Forms!myForm!Value & "*"?或者您可能需要使用+...我没有使用MS Access 和表单,只是查询。
  • @underscore_d 谢谢。这正是重点,我不知道如何在 Access 中连接。 & 工作。非常感谢

标签: sql ms-access


【解决方案1】:

如果您的表单上有一个文本框,并且您想使用该值进行查询。
因为它是您的 SQL 试图从表单中获取值,而不是从表单上的控件中获取值。
除非您的控件被称为 Value,在这种情况下,您会遇到一大堆其他问题,因为这是一个到处都在使用的保留字。

PARAMETERS Forms!myForm!myTextBox Text ( 255 );
SELECT Field1, Field2, FIeld3
FROM Table
WHERE Field1 LIKE '*' & Forms!myForm!myTextBox & '*'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 2018-06-21
    相关资源
    最近更新 更多