2013-10-12 51 views
0

我完全被我懷疑對於那些有經驗的用戶來說很簡單。我是Access(2010)的全新品牌,並且學習了很多,但很不幸,我仍然被許多基本概念所困惑。我很尷尬地承認,我花了大約40個小時嘗試(不成功)解決下面的具體問題。請原諒我,如果我沒有在這裏包含足夠的細節 - 我不知道有多少人需要知道解決這個問題。我很樂意編輯和/或提供更多信息。如何創建表1的訪問表單,其中兩個表1字段與表2中的單個字段具有不同的數據?

我的問題:

如何創建用於創建新的記錄/編輯在表1的現有記錄在何處表1兩個領域都從表2中單場不同值的形式? (我在下面有更詳細的說明)

我希望表格具有來自表1的所有記錄。我用查詢,子表格等嘗試了很多不同的方法,但無法完成。我很確定這個問題與我如何解決Table2有關。理想情況下,用戶可以從Table1中更新兩個字段的表單中選擇下拉列表。

我包括我想要的Form概念,我目前擁有它們的對象關係,Table1的設計和數據表視圖以及Table2的設計和數據表視圖的屏幕截圖。上述

「表1」是在圖像「t_PEOPLE」,而「表2」是「t_COLORS。」

對象關係類型是當前一到許多與強迫參照完整性(級聯更新相關字段)和連接屬性是「包含來自't_PEOPLE'的所有記錄,並且只有來自't_COLORS'的連接字段相等的記錄。」

我很高興發送實際的數據庫文件,如果有幫助。

我將非常感謝任何指導 - 謝謝!

Screenshot of mockup Form concept Screenshot of object Relationships Screenshot of t_PEOPLE datasheet view Screenshot of t_PEOPLE design view Screenshot of t_COLORS datasheet view Screenshot of t_COLORS design view

回答

1

的一般方法,這是如下:

A)如果我明白你在這裏做什麼,你t_colors表通常被稱爲參考表或查找表。您需要創建一個表單來在此t_colors表中添加,編輯和刪除記錄。用戶訪問該表單的方式各不相同。我會在一分鐘內達成。 B)你的People表格的表格需要爲你的兩種顏色選擇下拉菜單。在下拉菜單'RowSource中,您將使用查詢在t_colors表中查找值。

C)根據你在t_people中使用你的顏色,你應該考慮製作第三個包含PeopleID和ColorID的表格。然後它會鏈接到t_people和t_colors。這將允許您爲單個人指定多種顏色,並且您不會被限制爲兩個。在您的人員表單中,您可以使用這些顏色的子表單。子表單可能需要是數據表格或連續表單。如果您正在爲您的人員形式使用數據表格,那麼您需要使用顏色子表格的數據表格。

如果用戶想要使用t_colors表中尚未存在的顏色,則需要爲他們提供插入該顏色的方法。這有很多種方法。您可以在顯示「」選項的下拉列表行中使用聯合查詢。如果選中,您將顯示「顏色」表單,當他們關閉顏色表單時,您必須重新查詢下拉菜單。或者,當他們輸入一個值爲「不在列表」(Combobox的事件)時,您可以使用VBA爲他們插入顏色。

請注意,在這種情況下,您定義的關係不是過分有用或重要。是的,當涉及使用「更新級聯」或「刪除級聯」功能時,它們可能會有所幫助。但相當誠實,關係基本上是程序員,以確保在違反引用完整性時發生錯誤。用戶不應該看到這些錯誤,而恰當設計的表單會阻止它們發生。使用它們的主要原因是它會迫使你在出現錯誤時給你一個錯誤,並希望在你自己的項目測試階段期間正確地設計你的表單。

+0

不夠感謝你!我很感激你方的快速反應,並對我的延遲迴復表示歉意:我正在努力整合你的指導,並花了我一段時間才明白(因爲我的無知,而不是你的回答)。組合框引導我朝着正確的方向發展,特別是關於RowSource的提示。我不需要使用子表單。我承認我不明白你在駕駛第三張桌子的建議(再一次,我的無知!),但不需要去追求它,因爲顏色的選擇必須限制爲兩個,而Comboboxes完成了這個技巧。我非常感謝! – AMM

+0

忘記:我還在組合框的Data選項卡中將「只顯示行源值」設置爲「Yes」,所以它只會在組合框中顯示顏色名稱而不是colorID值。 – AMM

+0

好吧,現在我知道我需要按照上面的建議做第三個表。這是爲了我想在t_PEOPLE中更新的新字段,並且有能力執行多個選擇。我不明白如何設置第三張桌子 - 你能再幫忙嗎?謝謝!! – AMM

相關問題