我有一个 vba 子例程,它在调用打开基于查询的报告之前向查询添加 WHERE 子句。我知道这样做而不是使用参数化查询有点荒谬,但是当我在截止日期前构建函数时,由于某种原因我无法让参数查询工作,这是我能想到的最快的解决方案和。后来我的退出例程恢复了查询的原始 SQL。
但这不是问题。该查询在添加 WHERE 子句之前和之后都运行良好,我通过单步执行 sub 并将构造的 SQL 语句复制并粘贴到新的 Access 查询中来确认这一点。它运行得很好。
问题出在报告上。它给了我“标准表达式中的数据类型不匹配”错误,无论我在子添加 WHERE 子句之前还是在添加 WHERE 之后运行它都是如此。
这已经正常工作了数周,然后它昨天突然爆炸,抛出错误,现在报告根本不会打印任何东西。这不是 NULL 值的问题;这不是数据类型错误。不知何故,它在报告中。
我认为数据库中可能存在一些损坏,因此对其进行了压缩,甚至将数据库的所有对象导入到一个新的干净数据库中。但错误仍然存在。
有没有人知道“数据类型不匹配”错误出现在报告中而不是查询中?我以前从未发布过,因为我通常可以通过搜索找到我的答案,但这次我被卡住了。
谢谢。