MS Access VBA更改文本框由组合框填充

MS Access VBA更改文本框由组合框填充,vba,ms-access,Vba,Ms Access,我有一个关于“简单”MS Access vba的问题。我有一个组合框。选择一个项目时,各种文本框都会更新。现在,我想编辑在选中某个项目后放入文本框中的文本(因为数据中填充了很多空格,所以我想将它们删除) 我尝试过“更新前”、“更新后”、“关于脏”和“关于更改”事件,但似乎没有一个是正确的。。有人知道我在找什么吗?谢谢两种可能的方式: (1) 不要只为每个文本框的ControlSource属性输入字段名,而是输入表达式,例如=Replace([SomeField],“”,“”)。这假设文本框应该是

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

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

两种可能的方式:

(1) 不要只为每个文本框的
ControlSource
属性输入字段名,而是输入表达式,例如
=Replace([SomeField],“”,“”)
。这假设文本框应该是只读的

(2) 根本不使用数据绑定,而是显式设置每个文本框的
属性:

Dim RS As DAO.Recordset
Set RS = CurrentDB.OpenRecordset(SQL)
txtWhatever.Value = Replace(RS!SomeField, " ", "")
txtAnother.Value = Replace(RS!AnotherField, " ", "")
在第二种情况下,使用任何更改的值更新数据源也需要显式处理


也就是说,如果数据有不必要的空格,那么它们肯定应该在源代码处清理,而不是在数据放入UI时清理…?

我在第一条规则的事件中添加了一个断点,但它不会进入任何一个事件。下面是:
SQL=“SELECT*FROM dbo\u Recept\u gevens8c WHERE Receptnr='”&Combo0.Value&“'Form.RecordSource=SQL
这是组合框填充文本框的方式(工作正常)您好,谢谢您的回答。我会试试你的选择,我会让你知道的。数据的问题在于,它是在过去10年中输入的,不知怎么的(甚至不知道如何输入),每个记录包含大约150个单词,每个单词之间有大量空格。考虑到大约有1000条记录,这将花费wayyyy到很多时间。然后要提到的是,它只是显示(读取)数据,与此specefic文本框中的读取相比,该部分数据不会再次发生任何变化:)毫无疑问,您的第一个解决方案运行良好。谢谢!