Trim()
クエリ内の関数を使用して、先頭と末尾のスペースを削除できます。
UPDATE YourTable
SET text_field = Trim(text_field);
Accessセッション内からこれを行う場合はReplace()
、2つのスペースのシーケンスを1つのスペースに置き換えるために使用できます。
UPDATE YourTable
SET text_field = Replace(text_field, ' ', ' ');
Replace()
ただし、連続するすべてのスペース文字を1つだけにするために、そのクエリを複数回実行する必要がある場合があります。
また、ユーザー定義関数を使用して正規表現ベースの置換を行うこともできます。しかし、それが努力する価値があるかどうかはわかりません。また、ユーザー定義関数は、Accessアプリケーションセッション内からのみ使用できます。
「テーブル内のすべてのセル」の側面を見落としていました。それはこれをより困難にし、標準のマクロやクエリで解決できるとは思いません。ただし、VBAコードを使用して、を調べ、TableDef
そのフィールドを反復処理することができます...次に、データ型がテキストまたはメモであるフィールドのいずれかで、Trim
および/または操作を呼び出します。Replace
特定のテーブルのどのフィールドがテキストタイプであるかを識別するための大まかなコードの概要を次に示します。
Public Sub FindTextFields(ByVal WhichTable As String)
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Dim fld As DAO.Field
Set db = CurrentDb
Set tdf = db.TableDefs(WhichTable)
For Each fld In tdf.Fields
If fld.Type = dbText Or fld.Type = dbMemo Then
Debug.Print "Do something with " & fld.Name
End If
Next
Set fld = Nothing
Set tdf = Nothing
Set db = Nothing
End Sub