グッドデザイン賞を受賞したウォーターサーバー >>

Accessにて住所入力されているフィールドを郵便番号変換される部分とそれ以降に分割したいのですが、お分かりになる方教えてください。
(例)〒143-0016 東京都大田区大森北×××-××× と入力されているデータを
東京都大田区大森北 と ×××-××× にすることは可能なのでしょうか。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

既に正答がなされていますが・・・。


ここは、以下の CutStr関数を利用した別解を・・・。

[イミディエイト]
? CutStr("東京都大田区大森北123-444", "東京都大田区大森北", 2)
123-444

Public Function CutStr(ByVal Text As String, _
            ByVal Separator As String, _
            ByVal N As Integer) As String
  Dim strDatas() As String
  
  strDatas = Split("" & Separator & Text, Separator, , 0)
  CutStr = strDatas(N * Abs((N <= UBound(strDatas))))
End Function

[イミディエイト]
? CutStr("東京都大田区大森北123-444", "東京都", 2)
大田区大森北123-444
? CutStr("大田区大森北123-444", "区", 1) & "区"
大田区
? CutStr(CutStr("東京都大田区大森北123-444", "東京都", 2), "区", 1) & "区"
大田区

と、区名なども CutStr()一つで取り出せます。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
自分の実力ですと、高度でしたが、今後の為に参考にさせていただきます。

お礼日時:2008/08/28 09:00

>残りの ×××-××× の部分を取り出すことに四苦八苦しています。



HouseNumber: Replace([AddressA],[AddressB],"")
    • good
    • 0
この回答へのお礼

ありがとうございます

お礼日時:2013/05/24 13:02

補足:



差を求めた後に既存の住所を修正する点は回答から省いています。
また、2度目のスキャンで差が無い場合に空値に更新しないなどの留意点も省いています。
そこら辺りは適当に・・・。
    • good
    • 0

ID__________[______1]


Zip_________[143-0016]
Address1____[東京都__________]
Address2____[大田区__________]
Address3____[大森北__________]
HouseNumber_[×××-×××]

ということは、郵便番号データと番地とを分割したいということでしょう。

ならば、

Zip_________[143-0016]
AddressA____[東京都大田区大森北×××-×××]
AddressB____[東京都大田区大森北_____________]
HouseNumber_[×××-×××]

と、既存の住所と郵便番号から生成した新しい住所との差を求めるフォームを作成。
で、ツーツーッと最後のレコードまで走らせたら・・・。

と、思います。

この回答への補足

早速のご回答ありがとうございます。
東京都大田区大森北×××-××× と入力されているデータから
東京都大田区大森北 までは取り出せたんですが、
残りの ×××-××× の部分を取り出すことに四苦八苦しています。
素人な質問で申し訳ありません。
Zip_________[143-0016]
AddressA____[東京都大田区大森北×××-×××]
AddressB____[東京都大田区大森北]
HouseNumber_[この部分を抽出したいのですが、]

補足日時:2008/08/22 14:59
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング