Ms-Access
MS Access 多對多查詢/表單協助
我有一些初學者類型的問題。
有人可以看看下面的關係,讓我知道為什麼我不能得到下面的表格/查詢來只顯示唯一的約會信嗎?我有 143 封預約信。我有 135 個成員。我在聯結表中有 585 條記錄。我知道我搞砸了表單源查詢(如下),但我有多糟糕?非常感謝您的專業知識。
使用的資源:
- 3 範例數據庫
- 4 MS Access 2003/2010/2013 書籍
- 5個連結:
- https://stackoverflow.com/questions/13108525/ms-access-2010-query-pulls-same-records-multiple-times-sql-challenge
- https://stackoverflow.com/questions/473604/basic-many-to-many-sql-select-query
- access中查詢多對多關係
- 幫助訪問多對多關係(初學者)
- 在 MS Access 中查詢多個表
關係截圖:
形式:
詢問:
SQL:
SELECT DISTINCTROW tbl_apptltrs.*, jtbl_apptltrs_mbrs.*, tbl_mbrs.* FROM tbl_mbrs INNER JOIN ( tbl_apptltrs INNER JOIN jtbl_apptltrs_mbrs ON tbl_apptltrs.ApptLtrsID = jtbl_apptltrs_mbrs.LinkedApptLettersID) ON tbl_mbrs.MembersID = jtbl_apptltrs_mbrs.LinkedMembersID;
我必須在這裡進行一些心理調試,但一般來說,您應該將子表單綁定到將您的聯結表連接到相關記錄表的查詢。子表單內的表單不應該知道關係左側的表(tbl_apptltrs)。
所以鏈條是這樣的:
- 主窗體綁定到
tbl_apptltrs
.- 子表單通過主鍵
tbl_appltrs
(例如父表單ApptLtrsID
=子表單LinkedApptLettersID
)連結到主表單。- 子表單內的表單綁定到連接
jtbl_apptltrs_mbrs
到tbl_mbrs
(jtbl_apptltrs_mbrs.LinkedMemberID = tbl_mbrs.MemberID
) 的查詢。