2012-07-20 46 views
1

我有一個聯繫表單,並且表單中的一個字段是Contact_Type_ID。這個字段是一個數字字段,它也對應於另一個表中的文本字段(例如1 =外移)。在Microsoft Access 2010中顯示對應於組合框選擇的文本

當我在聯繫人中循環時,他們的Contact_Type_ID是1,2,3 ......而不是非盈利,首席執行官,副總裁等。這是一個問題,因爲人們不知道3是什麼意思。

我想要一個只顯示相應文本的組合框。

我無法獲得兩列和0; 1格式的工作。我的直覺是,這是因爲我從兩張不同的表中獲取信息。我可以生成正確的列表,但是當我在聯繫人中循環以反映當前聯繫人的[Contact_Type_ID]時,主條目不會改變。

我無法編輯任何當前表,因爲我應該將此應用程序應用於更大規模的數據庫。

我也嘗試設置SQL的行來源:

'Populate the connection combo box ' 
Dim typeSQL As String 
typeSQL = "SELECT DISTINCT Contacts.[ContactTypeID], Contact_Types.[ContactType] " & _ 
    "FROM Contacts, Contact_Types " & _ 
    "ORDER BY Contact_Types.[ContactType];" 
Me.cbo_ContactType.RowSource = typeSQL 

不過,我再有同樣的問題:組合框不會更新通過接觸我的週期。我不明白rowsource和controlsource之間的區別。我覺得這個區別可能是關鍵。

回答

0

假設我正確理解:

在組合框屬性,轉到Data標籤。 將Control Source設置爲Contact_Type_ID

這意味着當您瀏覽記錄時,組合框將對應於您的數據中的Contact_Type_ID字段。

設置Row Source"SELECT Contacts.[ContactTypeID], Contact_Types.[ContactType] FROM Contacts, Contact_Types ORDER BY Contact_Types.[ContactType];"

行來源表明,組合框訪問的數據,這將有助於確定如何顯示控制源值。

設置Bound Column1

設置Limit to ListYes

現在在Format標籤。將Column Count更改爲2。 接下來將column widths設置爲您在問題中提到的0;1

現在嘗試查看錶單視圖,它應該按照您的預期行事。

如果它不工作,創建these instructions.

0

新的控制作爲我明白你的問題,你有基於表Contacts觸點的形式和該表中含有一種叫要麼Contact_Type_IDContactTypeID場。您希望從表Contact_Types中顯示聯繫人類型的說明。

你不需要爲你的組合連接表,它應該是非常簡單的。正如你懷疑的那樣,關鍵是Control source,這是將一個表與另一個表相關聯的屬性。另外,你可以在一個組合中連接表,並且仍然將第一列設置爲0,並且它仍然可以工作,它們都在正確的設置中。

+0

好的,我最終得到了它的工作。我需要更多地瞭解笛卡爾產品。謝謝! – 2012-07-31 03:53:46

相關問題