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
Database 请在ms access中解决此选择查询_Database_Ms Access_Ms Access 2007_Vba - Fatal编程技术网

Database 请在ms access中解决此选择查询

Database 请在ms access中解决此选择查询,database,ms-access,ms-access-2007,vba,Database,Ms Access,Ms Access 2007,Vba,这是关系图和Pasenger_的详细表单,我写了一个查询来选择seat_no,但它不能正常工作。它只是根据公交车预留id显示所有座位。但要求仅显示尚未选择的座位。这是我的疑问 "Select seat_no.seat_no FROM Seat_No Where seat_no.seat_no <= (select br_info.Seats_Reserved from br_info where ((Br_info.br_id)=[forms]![pasenger_detail]!

这是关系图和Pasenger_的详细表单,我写了一个查询来选择seat_no,但它不能正常工作。它只是根据公交车预留id显示所有座位。但要求仅显示尚未选择的座位。这是我的疑问

    "Select seat_no.seat_no FROM Seat_No Where seat_no.seat_no <= (select br_info.Seats_Reserved from br_info where ((Br_info.br_id)=[forms]![pasenger_detail]![br_id]) AND (Seat_No.seat_no) NOT IN (SELECT Pasenger_Detail.Seat_No FROM Pasenger_Detail WHERE (((Pasenger_Detail.Group_ID)=[forms]![Pasenger_Detail]![Group_ID]) AND ((Pasenger_Detail.BR_ID)=[forms]![Pasenger_Detail]![BR_ID]))));"
“从座椅编号中选择座椅编号座椅编号

在上面的查询中,我将
BR\u Info
Passenger\u Detail
连接在一起。这是一个
内部连接
,这意味着记录必须同时存在于
BR\u Info
Passenger\u Detail
中才能被考虑。然后我使用
Not In
获取所有的
座位号
t包含在子查询中。

请告诉我与内部联接(联接)的区别是什么和子查询。它们是出于相同目的的两种不同技术吗?它们只是做某事的两种不同方法。连接应该比子查询的多个嵌套级别运行得更快。老板,您的查询开始运行得很好,之前我的查询也给了我一些数据。但当前的问题对我来说非常奇怪。因为我输入了三条记录的数据它输入正确,但当我进入第四个时,seat_no组合框没有显示任何内容。我尝试了很多次,但都是相同的问题。然后我关闭数据库并重新运行它。它开始工作,但在两个三个记录之后也发生了相同的情况。我想可能是由于失去焦点事件,因为我在该事件中编写了该查询。我需要编写查询吗在任何其他情况下或任何其他问题都存在。请提供任何建议。很抱歉,回复太晚,因为昨天对我来说太晚了。我必须去睡觉,以满足第二天的活动。请。老板玲儿,我已经应用了你的查询,它部分工作。早些时候我认为它工作正常,但一旦我进入第三个记录,它就卡住了。没有任何问题在“座位号”组合框中显示。当我仔细查看组合框中列出的数据时,我意识到它显示了从1到100的座位号,而没有显示我正在选择的座位号。但在我之前的查询中,它也显示了从1到BR_info表的seat_reserved字段中存储的值的座位号。
SELECT S.Seat_No 
FROM Seat_No AS S
WHERE S.Seat_No Not In
(
   SELECT P.Seat_No 
   FROM BR_Info AS B INNER JOIN Pasenger_Detail AS P ON B.BR_ID = P.BR_ID
   WHERE B.BR_ID = Forms!pasenger_detail!BR_ID
   AND B.Group_ID = Forms!Pasenger_Detail!Group_ID 
)