• ベストアンサー

郵便番号の-(ハイフン)等をまとめて削除する方法について

ACCESSで作成されたデータについてですが、 (1)全てのデータの郵便番号の-(ハイフン)をまとめて 削除する方法  (例)123-4567→1234567 (2)頭の一文字をまとめて削除する方法  (例)A0001→0001 がわからないので、よい方法を教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yatoaa
  • ベストアンサー率30% (110/362)
回答No.2

MID関数を使用すればいいと思います 例 MID([KOUMOKUA],1,3) & MID([KOUMOKUA],5,3) というような感じで 新規のテーブルへ書き出すか 更新クエリーで更新実施すればできます A0001→0001 も MID([KOUMOKUB],2,4) で出来ます

Nako1
質問者

お礼

どうもありがとうございました。大変助かりました。

その他の回答 (4)

noname#248169
noname#248169
回答No.5

Excelだったら、リプレイス関数で、 A1にデータが入っているとすれば、 =REPLACE(A1,4,1,"")で消えますよね。 (2)のほうも、同じ要領で =REPLACE(A1,1,1,"")で出来ますが、 これじゃなかったらゴメンなさい。

Nako1
質問者

お礼

どうもありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

VBAでやるなら <郵便番号の-(半角)削除> Sub test01() Dim conn As Connection Dim rs As ADODB.Recordset Dim strSql As String Set conn = CurrentProject.Connection Set rs = New ADODB.Recordset rs.Source = "住所録1" rs.Open "住所録1", conn, adOpenKeyset, adLockOptimistic rs.MoveFirst Do Until rs.EOF s = rs!郵便番号 st = 1 p01: p = InStr(st, s, "-") If p = 0 Then GoTo p02 s = Mid(s, 1, p - 1) & Mid(s, p + 1, Len(s) - p) st = p + 1 GoTo p01 p02: rs!郵便番号 = s rs.Update rs.MoveNext Loop rs.Close Set rs = Nothing conn.Close Set conn = Nothing End Sub <「コード」フィールドの先頭1字削除> Sub test02() Dim conn As Connection Dim rs As ADODB.Recordset Dim strSql As String Set conn = CurrentProject.Connection Set rs = New ADODB.Recordset rs.Source = "住所録1" rs.Open "住所録1", conn, adOpenKeyset, adLockOptimistic rs.MoveFirst Do Until rs.EOF s = rs!コード s = Mid(s, 2, Len(s) - 1) rs!コード = s rs.Update rs.MoveNext Loop rs.Close Set rs = Nothing conn.Close Set conn = Nothing End Sub

Nako1
質問者

お礼

どうもありがとうございました。

回答No.3

応用編です。 (1)任意の文字数、任意の位置のハイフォンを省く場合、A1にハイフォンを含む文字があるとして、 =LEFT(A1,FIND("-",A1)-1)&MID(A1,FIND("-",A1)+1,LEN(A1)-FIND("-",A1)) (2)任意の文字数に対応して頭一文字をとる場合、A2に頭ひと文字を省きたい文字列があるとして =RIGHT(A2,LEN(A2)-1)

Nako1
質問者

お礼

どうもありがとうございました。大変助かりました。

  • sero
  • ベストアンサー率47% (916/1944)
回答No.1

1に関しては、テーブルに削除したいデータがあると仮定すると 削除したいレコードを選択(白黒反転)し、「置換(Ctrl+H)」で 「検索する文字列」に「-」、「置換後の文字列」に何も入れずに 「カレントフィールドのみ」にチェックが入っている事と、 「完全に一致するフィールドだけを検索する」にチェックが入っていない事を 確認して「全て置換」でOKです。 2に関してはAccessではなくExcelにエクスポート → Excelで加工 → Accessにインポートの方が簡単では?

Nako1
質問者

お礼

どうもありがとうございました。大変助かりました。

関連するQ&A