Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access MS Access 2003中的查询_Ms Access - Fatal编程技术网

Ms access MS Access 2003中的查询

Ms access MS Access 2003中的查询,ms-access,Ms Access,我正在为一家小旅馆建立数据库。一旦客人预订了房间,他们就会收到一张停车场卡,需要在客人退房时归还。我需要帮助编写一个查询,让用户知道停车场卡01(或任何已经发给客人的卡#)不可用。谁能帮我设置一下吗。谢谢 使用的TBL 客人待定 GuestID PK 入住日期 退房日期 房间# 房间类型 访问密钥Id 访问密钥tbl 访问密钥ID PK 分布式-是或否从您的表中,似乎可以获取房间访问密钥,如果访问密钥表包含停车场卡,则可以获取该信息,但这些表的结构可能更好 SELECT [Access Key

我正在为一家小旅馆建立数据库。一旦客人预订了房间,他们就会收到一张停车场卡,需要在客人退房时归还。我需要帮助编写一个查询,让用户知道停车场卡01(或任何已经发给客人的卡#)不可用。谁能帮我设置一下吗。谢谢

使用的TBL

客人待定
GuestID PK
入住日期
退房日期
房间#
房间类型 访问密钥Id

访问密钥tbl
访问密钥ID PK

分布式-是或否

从您的表中,似乎可以获取房间访问密钥,如果访问密钥表包含停车场卡,则可以获取该信息,但这些表的结构可能更好

 SELECT [Access Key ID] 
 FROM [Access Key tbl] 
 WHERE Distributed = True
在表名或字段名中使用空格从来都不是一个好主意,因为这只会导致压力——记住在所有内容周围都放上方括号

考虑这样设置的表:

Guests
GuestID
Etc.

Cards
CardID
CardType (Room or Parking)

CardsIssued
CardID
GuestID
IssueDate
ReturnDate

您提供的详细信息没有指定任何关系,因此根据您提供的信息,我假设您想要做的只是告诉您在任何给定时间哪些键可用/不可用

对于初学者,您可以使用以下查询列出所有尚未分发的密钥

SELECT tblKey.KeyID, tblKey.Distributed
FROM tblKey
WHERE (((tblKey.Distributed)=False));
将=False更改为=True以反转逻辑并显示已分发的所有卡

SELECT tblKey.KeyID, tblKey.Distributed
FROM tblKey
WHERE (((tblKey.Distributed)=False));
如果要查找特定的密钥ID以确定其是否已分发,请使用以下命令:

SELECT tblKey.KeyID, tblKey.Distributed
FROM tblKey
WHERE (((tblKey.KeyID)=[Enter Key ID]));

这将为用户提供一个可以输入密钥ID的窗口。查询参数有更详细的解释

我们需要了解存储此信息所用的表结构,以便能够进行查询。您将分发的卡的相关信息存储在哪里?涉及哪些表?如何在表单中使用此查询?如果我有一个包含表单上列出的所有卡片的组合框,我需要用户能够查询哪些卡片尚未分发,并将其分发给新客户。这是一个广泛的问题(有些超出了原始问题的范围)因为有很多方法可以实现这一点,例如,组合框的行源可以基于查询,以便它只列出用户可用的密钥ID。