- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:<ACCESS> 住所から市区町村を抜き出したい)
<ACCESS> 住所から市区町村を抜き出したい
このQ&Aのポイント
- <ACCESS>初心者が住所一覧のテーブルから市区町村を抽出する方法に苦戦中です。都道府県から始まる住所や市区町村から始まる住所、そして空白もあります。サブクエリを使用しましたが、うまくいかずに困っています。どのようにすれば市区町村を抜き出すことができるでしょうか。
- <ACCESS>初心者のため、住所一覧のテーブルから市区町村を抜き出す方法について助言を求めます。住所には都道府県から始まるものや市区町村から始まるもの、そして空白も存在します。サブクエリを使用しているのですが、市区町村が抽出されません。どのようにすれば市区町村を正しく抜き出すことができるでしょうか。
- <ACCESS>初心者ですが、住所一覧のテーブルから市区町村を取り出す方法についてお尋ねします。住所には都道府県から始まるものや市区町村から始まるもの、空白もあります。サブクエリを使用していますが、市区町村が抽出されず、住所がそのままコピーされてしまいます。市区町村を正確に抜き出す方法を教えていただけると助かります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
クエリはそこまで万能ではありません。 VBAで1件ずつIF分で判定して分割したり取り出したりして専用の作業用テーブルに書き出してからクエリで更新するのが良いかと・・・ わたしなら全部VBAで処理します。 自由書データの中には都道府県名が含まれていたり含まれていないものがあるんだったら、都道府県名をReplaceで長さゼロの文字列(Nullではない)に置き換えれば市区町村だけになります。 ※Access VBAにReplaceはないかもしれませんが、同様のことを実現できる関数があったと思います。たしかMid()とかLeft()と同じくくりだったかと・・・ ADOなどで自身のテーブルをオープンし、1レコード読み込み処理し、次のレコードを読むという行為をレコードがなくなるまで繰り返す単純なものです。 私は今そんな感じのことをVisualBasic .NETで行っています。 いちいちコードを書かなくてはならないので大変ですが、汎用性が高いのでいろいろ便利です。 AccessはライセンスとかランタイムがややこしいのでフリーのSQL Serverを使うのもいいかもしれませんね。 Accessにリンクテーブルとしてバインドしてもいいです。そうすればmdbファイル(accdbファイル)の2GBの壁(32bit版?)もなくなります。データベースの最適化も必要なくなります。
補足
ご回答ありがとうございます。 サブクエリに 都道府県:(select [都道府県名] from T_都道府県 where [住所] like [都道府県名] & "*") で都道府県の抜き出しができたので 市区町村も同じ要領でできると思っていました。 そういうわけにはいかないのですね、、、 AccessのサブクエリにはReplaceがあったので VBAにあるかどうか調べてみます。 ありがとうございます。