禁止并以MS Access形式删除换行符

问题描述 投票:1回答:1

我有一个MS Access表单,其中包含文本字段,用户可以在其中输入文本以及复制/粘贴文本。我要确保存储的所有文本都没有换行符,因为我将使用ArcGIS处理这些文本字段,这会在文本字段中出现换行符后将所有内容剪切掉。理想情况下,我希望用户看到他们得到的东西,也就是他们在输入文本时看到如何存储文本。

我已经尝试过此解决方案:Disabling multi-line fields in MS Access我收集到,对于文本框,我将需要一个击键事件,该事件将换行符转换为空格(或理想的是在分号后加一个空格),以及另一个事件,该事件将所有换行符从粘贴的文本中剥离出来。 >

但是,使用BIBD的上述线程中的此事件,会产生一些意外的副作用。

Private Sub SingleLineTextBox_ KeyPress(ByRef KeyAscii As Integer)
If KeyAscii = 10 _
    or KeyAscii = 13 Then
        '10 -> Ctrl-Enter. AKA ^J or ctrl-j
        '13 -> Enter.      AKA ^M or ctrl-m
    KeyAscii = 0  'clear the the KeyPress
End If 
End Sub

如果我通过按Enter接受对此文本字段的字段[[before

的更改,焦点将跳到文本字段,并且事件触发,删除所有先前输入的文本,并将其替换为空格(或以分号替换为以我为例)。但是,我必须保留先前输入的文本。而且,我不知道如何获得第二个事件以消除所有换行符的工作。

If InStr(Me!MyMemoControl, vbCrLf) Then Me!MyMemoControl = Replace(Me!MyMemoControl, vbCrLf, vbNullString) End If

很抱歉,答案很明显,但是很遗憾,我的VBA技能很少。如果您看到比使用这两个事件更方便的解决此问题的方法,那么,我很高兴。感谢您的帮助。

我有一个MS Access表单,其中包含文本字段,用户可以在其中输入文本以及复制/粘贴文本。我要确保所有存储的文本都没有换行符,因为我将处理这些文本...

ms-access access-vba
1个回答
0
投票
如David W. Fenton在链接的问题中所写,最好在控件的After Update事件中进行替换。
© www.soinside.com 2019 - 2024. All rights reserved.