2013-03-06 84 views
5

我正在使用Microsoft Access 2007.當我開始輸入新記錄時,是否有一種方法可以訪問以提示我以前輸入的內容,從而節省了我輸入整個單詞的時間?例如,當我開始輸入S時,它可能會開始建議我已經鍵入的單詞,以S開始,然後如果我輸入ST,它可能會提示STATION,我可以按Enter鍵來插入該單詞?Microsoft Access可以自動填充字段嗎?

+1

您包含一個用於組合框的標籤;在我看來,這可能是最便宜的解決方案。使組合行來源查詢:'SELECT DISTINCT YourField FROM YourTable ORDER BY YourField;' – HansUp 2013-03-06 21:41:18

+0

@HansUp +1你應該把你的評論作爲答案......它解決了這個問題 – Barranka 2013-03-06 21:42:34

+0

嗨,謝謝你的回覆我試過你的查詢,但它不解決我認爲我的tables.my **錯誤部門描述**字段我已經在那裏輸入一個值,但我輸入的新值不會累加到我的下拉列表項中,也不會累加到我的Department表中。我的表中有什麼問題 – 2013-03-06 21:58:59

回答

5

你的問題包括一個標籤combobox;在我看來,這可能是最便宜的解決方案。

使組合行來源查詢:

SELECT DISTINCT YourField 
FROM YourTable 
ORDER BY YourField; 

與組合的「限制名單」屬性設置爲「否」,用戶可以添加其不會在先前存儲的值存在的價值。

或者,將該屬性設置爲「是」併爲組合的「On Not in list」事件寫入VBA代碼。

無論哪種方式,你應該有一個索引YourField。您可以從表單的On Current事件中將組合的行源添加到「刷新」以獲取最新添加。

+0

嗨漢斯爲什麼我輸入的新文本不在我的組合框下拉列表中,但它保存在我的數據庫..只有文本值是在我的下拉列表中我創建我的表時第一次輸入的值 – 2013-03-07 23:16:32

+0

您是否在'Requery'組合後你在表中添加新的值? – HansUp 2013-03-07 23:29:27

+0

我做到了這一點,但它在訪問2007年無法正常工作。我有staffdesc組合框..這是我的事件選項卡上的窗體類型上的代碼... Private Sub Form_Current() Me.StaffDesc.Requery End Sub – 2013-03-08 00:21:19