【问题标题】:SQL: Using Textbox value in "LIKE" query conditionSQL:在“LIKE”查询条件中使用文本框值
【发布时间】:2012-06-07 17:47:51
【问题描述】:

SQL:因此,我正在尝试使用通配符将“行”值与放置在表单中的文本框值(使用 MS Access '10)进行比较的条件进行查询,并且这一行可能是粗体部分有错误,但我不知道该怎么做:

选择表。*
从表
WHERE (((Table.Row) Like '%"[Forms]![SomeForm]![Texbox1]"%'));

想法?

不知何故 WHERE (((Table.Row)=[Forms]![SomeForm]![Textbox1])); 用作完整字符串的搜索。

【问题讨论】:

    标签: sql ms-access


    【解决方案1】:
    WHERE Table.Row ALike '%' & [Forms]![SomeForm]![Texbox1] & '%'
    

    在 ANSI 89 模式下 ...

    WHERE Table.Row Like '*' & [Forms]![SomeForm]![Texbox1] & '*'
    

    在 ANSI 92 模式下 ...

    WHERE Table.Row Like '%' & [Forms]![SomeForm]![Texbox1] & '%'
    

    或者您可以使用InStr() 而不是Like 比较。

    WHERE InStr(1, Table.Row, [Forms]![SomeForm]![Texbox1]) > 0
    

    【讨论】:

    • 用 * 替换 % 不起作用,但 HansUp 方式可以。非常感谢!我对“Alike”的表达感到惊讶。
    • ALike 并不广为人知,但它很有用,因为您不需要关心查询是在 ANSI 89 还是 92 模式下运行。 ALike 总是期望通配符为 % 和 _(而不是 * 和 ?)。
    • 这真的很有帮助。再次感谢!
    • 啊,这不是你对那些引号所做的。
    【解决方案2】:

    在 Access 中,使用 * 而不是 % 作为通配符

    【讨论】:

    • 并使用 + 代替 &
    猜你喜欢
    • 1970-01-01
    • 2012-06-03
    • 2014-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    相关资源
    最近更新 更多