在Access *和Ansi%之间随机切换的查询中的通配符

时间:2009-10-27 14:28:05

标签: ms-access ms-access-2007 wildcard ansi

背景:

  • 我有一个Access 2007应用程序,其表单构建一个Filter字符串以传递给使用存储查询的Report。

  • 在Access Options中,我为此数据库选中了“SQL Server兼容语法(ANSI 92)”,并且Filter字符串包含带有%通配符的LIKE子句。

    ISSUE:

    当我保存或打开应用程序时(不确定确切原因),有效的通配符语法会从需要%切换到*或返回。我知道这是因为我的查询停止工作。

    我做了什么:

  • 我在通配符上进行查找/替换,它会运行一段时间,然后重复发生,而不会对查询或过滤器进行任何重大更改。

  • 大量紧凑/维修没有任何区别。

    有什么想法吗?

  • 1 个答案:

    答案 0 :(得分:1)

    如果您只使用ANSI-92 Query Mode替代通配符(而不是它提供的增强型SQL DDL和DCL SQL语法),那么请考虑使用ALIKE关键字代替{{1} }关键字。

    优点是您可以在任一查询模式下使用ANSI-92查询模式通配符。稍微不利的是LIKE正式不受支持,这意味着它可能会在未来的发动机版本中消失(尽管我会将其评为低风险)。