2014-02-11 101 views
0

我有一個表「Members」和一個表「Books」。對一個成員可以屬於許多書籍,但一本書只能屬於一個成員,所以我創建了多對一的關係。我創建了一箇中間表「Owners」。ms access 2007查找列選擇仍然可用的記錄

我會以「f_Members」的形式放置子表單「f_Books」,並且在此我希望爲字段提供一個包含所有書籍列表的查找列。現在,對於第一個成員,我會選擇讓我們說book1和book2,然後對於查找列中的子表單中的第二個成員列出所有書籍,但book1和book2變灰並且無法再選擇它們。

訪問2007年可能嗎?先謝謝你。

回答

0

首先,作爲多對一關係,您不需要中間表,而是在Books表中添加一個外鍵,引用成員的主鍵。

這可能會爲你做到這一點更多的代碼,但我會考慮以下幾點:

在f_Books,分配記錄是[圖書]表。 如果您希望將已選擇的書籍顯示爲灰色,那麼使用條件格式(see here)可以很容易地處理,其表達式如Nz([books_fk_member_id]) <> ''

您可以添加第二個條件,使該成員已選擇的書籍具有像Nz([books_fk_member_id]) = [Forms]![f_Members]![control_showing_member_id]這樣的表達式的顏色。

爲了使它們不可選擇,我認爲[啓用]檢查按鈕可能會爲您做出訣竅,或者您可以用vba編寫一些代碼,參考[Forms]![f_Members]![Form]![f_Books]![books_fk_member_id]以識別書籍的所有者。

所有這一切,因爲你選擇消除額外的表。如果你的邏輯不一樣,你只需要使用更復雜的條件來獲得相同的結果。

希望我幫了忙。

相關問題