如何解决MS Access,从字段中修剪尾随空格
在我的访问文件中的表中,每个单词后都有带有尾随空格的字符串。数据类型为短文本。
即StackOverFlow
访问设计视图中的某些功能是否可以消除尾随空格? 还是我必须到 sql 查询级别来修剪尾随空格?
如果是 sql,我可以在查询中添加什么以将 StackOverFlow
修剪为 StackOverFlow
。
解决方法
使用RTrim
:
Select RTrim([YourField]) As CleanText From YourTable
,
尝试使用 InStr
查找字符串末尾/第一个空格的位置,然后将所有内容放在左侧。
SELECT Left("StackOverFlow ",InStr("StackOverFlow "," ") - 1);
,
作为一般规则,从表单或编辑中输入的数据会自动修剪尾随空白。但是,如果您导入数据,则是的,可能会出现尾随空白。
因此,您需要清除现有的空白,但在此之后,不应出现尾随空白。
您可以在标准代码模块中使用此例程来清理给定的表。
Sub CleanTable(strTableName As String)
Dim rst As DAO.Recordset
Dim MyField As DAO.Field
Set rst = CurrentDb.OpenRecordset(strTableName)
Debug.Print "clean table = " & strTableName
Do While rst.EOF = False
rst.Edit
For Each MyField In rst.Fields
If MyField.Type = dbMemo Or MyField.Type = dbText Then
rst(MyField.Name) = Trim(rst(MyField.Name))
End If
Next MyField
rst.Update
rst.MoveNext
Loop
rst.Close
Beep
Debug.Print "done clean table"
End Sub
所以从代码,甚至调试(立即)窗口,你可以去:
CleanTable"tblHotels"
但是,一旦完成,正如所指出的,尾随空白不应再次出现。如果它们是有关从 Excel、csv 或 dbase 或某些其他数据源导入的其他详细信息,则必须在起作用,并且在此处涉及您未共享的详细信息。
当然,在运行以上类型的代码之前进行备份。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。