0

Access データベースに、フォーマットが非常に不適切な古いデータがいくつかあります。混合データの packSize 列があります。「2パック」、「4パック」、「3」などと表示されることもあります。SQLコマンドを実行して、すべてのテキストを削除し、数字だけを残します。これについてどうすればよいですか?

4

1 に答える 1

2

VALフィールドが常に数値で始まる場合、コマンドは機能しますが、常にそうであるとは限りません。使用例:

UPDATE Table SET field = Val(field)

文字列/フィールドから数値以外の値をすべて取り除きたい場合、これは私が過去に使用した方法です (Microsoft から直接):

Function RemoveAlphas (ByVal AlphaNum as Variant)

   Dim Clean As String
   Dim Pos, A_Char$

   Pos = 1
   If IsNull(AlphaNum) Then Exit Function

   For Pos = 1 To Len(AlphaNum)
      A_Char$ = Mid(AlphaNum, Pos, 1)
      If A_Char$ >= "0" And A_Char$ <= "9" Then
         Clean$ = Clean$ + A_Char$
      End If
   Next Pos

   RemoveAlphas = Clean$

End Function

と:

更新クエリで RemoveAlphas() 関数を使用する方法

電話番号フィールドを含むテーブルに基づいて、新しいクエリを作成します。クエリ グリッドの最初の列に電話番号フィールドを配置します。[クエリ] メニューの [更新] をクリックします。[更新先] 行で、Phone という名前のフィールドに次のように入力します。 RemoveAlphas([Phone]) クエリを実行します。

http://support.microsoft.com/kb/210537

于 2013-03-29T20:16:12.647 に答える