0

背景:

  • 我有一个 Access 2007 应用程序,它的表单构建了一个过滤器字符串以传递给一个使用存储查询的报表。

  • 在访问选项中,我为此数据库检查了“SQL Server 兼容语法 (ANSI 92)”,并且过滤器字符串包含一个带有 % 通配符的 LIKE 子句。

    问题:

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

    我试过的:

  • 我对通配符进行了查找/替换,它工作了一段时间,然后再次发生,而不对查询或过滤器进行任何重大更改。

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

    有任何想法吗?

  • 4

    1 回答 1

    1

    如果您只对替代通配符使用ANSI-92 查询模式ALIKE(而不是它提供的增强型 SQL DDL 和 DCL SQL 语法),那么请考虑使用关键字代替LIKE关键字。

    优点是您可以在任一查询模式中使用 ANSI-92 查询模式通配符。轻微的缺点是ALIKE官方不受支持,这意味着它可能会在未来的引擎版本中消失(尽管我自己认为这是低风险)。

    于 2009-11-02T13:07:15.647 回答