值不在查询结果中

Value not in query result

好的,第三次尝试写这个。 本质上,我需要进行一个可以检查 table 的查询,并确保每条记录中的值不等于查询

中的记录中的值

概览

查询 1 搜索 Bookings 其中:开始日期 < ['End Date'] 和结束日期 > ['Start Date'] 显示 BID(预订 ID)和 VID(车辆 ID)

查询 2 再次搜索 Bookings,但删除了与查询 1 中的结果具有相同 VID 的所有记录

问题出现在查询 2 中,如果在查询 1 中显示多于 1 个结果,那么它只显示整个预订 table。

我目前使用:

Field:    VID
Table:    Bookings
Criteria: <>[Query1].[VID]

在过去的 2 个月里,我一直在尝试找出这种方法,但仍然没有进一步的进展。我尝试完成任务的任何方法仅在某些情况下有效。

本质上,我正在尝试创建一个查询,以查看在特定日期范围内是否可以租用车辆。

非常感谢任何帮助。

提前致谢

如果不小心,很容易将这些东西变成 Rube Goldberg 机器。在我看来,这是您用来确保数据库中正确数据完整性的过程?如果是这种情况,我建议通过几种不同的方法使该过程自动化:

  • 如果使用 SQL 后端,为 VID 字段设置条件语句
  • 如果table在Access中,使用
    下的Validation Rule 所需字段的属性部分
  • 或者,为这两个字段设置复合键。

看到你的 table 会很有用。我假设您的预订 table 显示何时预订了车辆出租?那么,您有单独的 table 车辆吗?如果是这样,那么要查看给定日期范围内有哪些车辆可供出租,您真正需要的是 select 来自 Vehicles table 的条目,其中 VID 不在 [查询 1] 中。这将写成:

select * from Vehicles where VID Not In (select VID from Query1)