我正在使用存儲地址的Access 2010中的數據庫。我仔細設計了這些表格,以便我可以分別存儲一個人和一個地址,然後通過另外兩個表格關聯他們(人員之間的關係也需要與他們的地址分開存放)。如何顯示子窗體中的所有記錄除了Access 2010中沒有VBA的主窗體中顯示的記錄?
我有如下表(此問題,重點是PERSON
和RELATIONSHIP
):
PERSON RELATIONSHIP ADDR_REL ADDR
------------ ------------ ----------- -----------
(PK)PERSON_ID (FK)PERSON_ID (FK)RELATIONSHIP_ID (PK)ADDR_ID
FIRST (K)RELATIONSHIP_ID (FK)ADDR_ID ADDR_LINE1
LAST RELATIONSHIP_TYPE (PK)ADDR_REL_ID ADDR_LINE1
(PK)REL_PK ...
不使用VBA(如果可能),我希望能夠在顯示給定PERSON
一個窗體,並有一個子窗體,它在匹配RELATIONSHIP
中顯示其他PERSON
s,但在子窗體結果集中不顯示原始PERSON
(無論哪條記錄顯示在父窗體中)。
FYI:我能夠在VBA建立一個解決方案,這一點我自己,但它只是好像他們奧特是退出這個功能沒有它的方式。
我試過隱藏的字段,鏈接的子表單和自定義查詢,但我總是以關係中顯示的子表單中的所有人(或根本沒有結果或參數提示)結束。沒有編寫代碼,真的沒有辦法打敗它嗎?
'RELATIONSHIP'只是一個帶有'PERSON_ID'和'RELATIONSHIP_ID'的行,並且一個關係的成員通過匹配其常見的'RELATIONSHIP_ID'來確定。 (我包含一個REL_PK作爲唯一標識符,但它可能是不確定的)。因此,在您的解決方案中,我需要將SQL直接輸入到RecordSource字段中;我不用它構建查詢,然後選擇它;正確?這是我沒有嘗試過的。 – 4AM
是的,這就是我的意思 –
我在摸索着試圖讓這個工作,我終於意識到我仍然有主子字段鏈接,除了我的查詢已經過濾掉的確切條件之外的任何東西都被過濾掉了。很容易在Access中犯下愚蠢的錯誤!感謝您的幫助! – 4AM