0

我有一个关于一些“简单”MS Access vba 的问题。我有一个组合框。选择一个项目时,会更新各种文本框。现在我想在选择一个项目后编辑放在 TextBox 中的文本(因为数据充满了很多空格,所以我想要它们)。

我尝试了“更新前”、“更新后”、“脏”和“更改”事件,但似乎没有一个是正确的。任何人都知道我在找什么?谢谢

4

1 回答 1

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 时...?

于 2013-10-17T13:03:41.833 回答