2013-10-17 63 views
0

我有一個關於一些「簡單」MS Access vba的問題。我有一個組合框。當一個項目被選中時,各種文本框被更新。現在我想編輯放入文本框中的文本後選擇一個項目(因爲數據充滿了非常多的空間,所以我想他們出)。MS Access VBA更改TextBox填充組合框

我嘗試過「更新前」,「更新後」,「髒」和「更改」事件,但沒有一個似乎是正確的..任何人都知道我在找什麼?由於

+0

顯示你是如何嘗試 – 4dmonster

+0

我在第一條規則的事件中添加了一個斷點,但它沒有得到任何一個事件。而這:'SQL =「SELECT * FROM dbo_Recept_Gegevens8C WHERE Receptnr ='」&Combo0.Value&「'」 Form.RecordSource = SQL'是如何TextBoxes由ComboBox填充(這工作正常) – GeertG

回答

1

兩種可能的方式:

(1)替代剛進入每一個文本框的ControlSource屬性字段名稱,輸入一個表達式,如=Replace([SomeField], " ", "")。這假定文本框應該是隻讀的。

(2)不要使用數據綁定所有,而是明確地設置每個文本框的Value屬性:

Dim RS As DAO.Recordset 
Set RS = CurrentDB.OpenRecordset(SQL) 
txtWhatever.Value = Replace(RS!SomeField, " ", "") 
txtAnother.Value = Replace(RS!AnotherField, " ", "") 

在第二種情況下,更新與任何更改後的值的數據源將需要處理也是明確的。

也就是說,如果數據有不必要的空間,那麼它們當然應該在源代碼中清理,而不是將數據放入UI中。

+0

嗨,謝謝你你的答案。我會嘗試你的選擇,我會讓你知道。數據的問題在於,它是在過去10年中輸入的,並且以某種方式(甚至不知道如何),每個記錄包含大約150個單詞,每個單詞之間有大量空格。考慮到大約有1000條記錄,它會佔用很多時間。接下來要說的是隻顯示(讀取)數據,這部分數據再也沒有發生任何事情,比閱讀這個特殊的TextBox沒有任何意義:) – GeertG

+0

沒有任何問題,您的第一個解決方案工作正常。非常感謝! – GeertG