微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MS Access,从字段中修剪尾随空格

如何解决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 举报,一经查实,本站将立刻删除。