如何诊断 Microsoft Access 中的查询返回错误结果的原因

如何诊断 Microsoft Access 中的查询返回错误结果的原因

我有一个数据库,其中存储了有关我们的承包商为我们做什么工作的信息。

基本上,我存储了承包商给我们开具的每张账单的工作编号、工作完成日期、合同编号、分包合同编号(我们在每个地点都有单独的分包合同),然后存储了完成的工作(存储在关系表中)。账单表和完成工作表之间关系的通用键是工作编号字段。在这里,我让 Access 为每条记录创建自己的索引键,而不是使用承包商账单中的实际工作编号,因为我怀疑承包商会在每年年初将其工作编号计数器重置为零。

现在我有一个查询,用于获取承包商在特定时间段内完成的工作的信息。因此,我的查询检查了该时间段内开具的所有账单,然后按工作类型汇总该时间段内完成的所有工作,并按分包合同编号分组,这样我就可以分别获得每个地点完成的工作信息。

问题是,当我尝试获取上个月的信息时,查询似乎还包含来自更早的账单的一些信息。您会看到,去年年中,我们与上述承包商签订了一份新合同,导致所有分包商编号都发生了变化。但出于某种原因,上个月的查询还不断返回有关一些基于分包的工作的信息,而自去年以来我们一直没有使用过这些分包。

因此我手动检查了过去一个月的每条记录以查找可能的输入错误,但没有发现任何错误。

然后我尝试系统地缩小查询时间范围,以找到会返回错误结果的确切日期。我将其缩小到以下日期:

如果我选择的日期范围是 2021 年 6 月 16 日至 2021 年 6 月 17 日,查询将返回错误结果,其中包含不再使用的分包。

如果我选择的日期范围是 2021 年 6 月 17 日至 2021 年 6 月 18 日,查询也会返回包含不再使用的分包的错误结果。

但是如果我选择的查询日期范围为 2021 年 6 月 17 日至 2021 年 6 月 17 日(一天),查询正确结果将不包含不再使用的分包。

那么如何诊断为什么只有当时间跨度跨越 2021 年 6 月 17 日时,访问查询才会返回错误结果,但现在查询时间跨度仅为 2021 年 6 月 17 日。

相关内容