• 締切済み

1-1-1を1丁目1-1に変換するには?

ACCESS初心者です。 住所データで、 「東京都葛飾区亀有1-1-1」とあったとします。 これを 「東京都葛飾区亀有1丁目1-1」というふうに変換したいのですが、 どうしたらいいのでしょうか? よろしくお願いします。

みんなの回答

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

[住所]フィールドがあると仮定して・・、 クエリをデザインビューで新規作成し、クエリのデザインビューで テーブルのフィールドを全て納めます。 そして 新住所:Left([住所], InStr([住所], "-") - 1) & "丁目" & Right([住所], InStr([住所], "-") ) というフィールドを追加。 メニューからクエリの種類をテーブル作成クエリにします。 クエリを適当な名前で保存し、再度開くとテーブルが出来ますので 変換に間違いがないか確認。 問題がなければ、元々あったテーブルを削除して、新たなテーブルを元々の名前にします。 テーブルのデザインビューで[住所]フィールドを削除し、 [新住所]フィールド名を「住所」にして終了。

noname#39970
noname#39970
回答No.1

原理だけ まず文字列を ●●[都道府県]△△[市区群]□□数字以降 という走査を行う。 数字から次の数字とハイフン(または長音)ではない文字(具体的には建物名など)までを取り出す。 後で楽になる様に 数字の前までの文字列と 数字 それ以降、の3つに分割して保存しておく 今度は取り出した数値(とハイフン)を走査する 数値が1組 ・・・無変換 数値が2組 ・・・◎◎-×× →今回は「丁目」だけが対象なので無変換 数値が3組以上 ・・・◎◎-××-◇◇~ →◎◎ ××-◇◇~ の2組に分解し「丁目」を挟んで結合