值不在查询结果中

时间:2017-01-16 18:01:06

标签: database ms-access criteria

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

概述

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

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

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

我目前使用:

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

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

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

非常感谢任何帮助。

提前谢谢

2 个答案:

答案 0 :(得分:0)

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

  • 如果使用SQL后端,请为VID字段设置条件语句
  • 如果表位于Access中,请使用中的“验证规则” 所需字段的属性部分
  • 或者,可以为这两个字段设置复合键。

答案 1 :(得分:0)

查看表格会很有用。我假设您的预订表显示车辆何时被租用?那么你有一张单独的车辆表吗?如果是这样,那么为了查看给定日期范围内可供出租的车辆,您真正需要的是从车辆表中选择VID不在[查询1]中的条目。这将写成:

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