![]() |
||
<HOME <お願い事項 <Access2002 TOP <Access2000 TOP <サイト内検索 | ![]() |
|
![]() |
||
Access97データベース工作室>郵便番号の検索 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
わたくし、しばらく[郵便テーブル]を眺めていて、発見いたしました。
[市区番号]と呼んでいたあのフィールドの値、どうやら法則があるようです。
01101
先頭の2桁が、どうやら都道府県をあらわしているようです。
青森県になるとここが02になってるし、どうもそういう法則が存在しているように見えます。これは使えますぞ!
[市区町村]から、左2桁だけ取り出して、新しい[都道府県コード]を作ってしまいましょう。できますとも。
簡単ですよ。こういうこともあろうかと、テキスト型でインポートしてきたんです。数字じゃなくて文字扱いなら桁ごとの処理も楽ですもんね。
左から2桁、ってことになるんで、Left関数というやつを使います。そのまんまですよね。
Left(どっから , 何桁)
っちゅー感じですね。大文字小文字はどっちでもいいですが、半角全角は意識して入力してくださいね。
この場合は[市区番号]から2桁とってきますから、
Left([市区番号] , 2)
ですね。商品コードとか伝票コードって、桁ごとに意味があるやつ結構あるじゃないですか。
99-0101なんていう番号だと、先頭の2桁は製造年をあらわしてる、とかね。なので、コードとか番号って、テキスト型で作ることが多いんですかね。
で、無理矢理この式を空いてるグリッドに入力します。え?左端に持っていきたい?
番号が右端なのは気持ち悪い??
えー、じゃあ、都道府県カナの左側のところあたりをめがけて、上段のフィールドリストから[市区番号]をドラッグしてみてください。
多分うまいこと、[市区番号][都道府県カナ][都道府県]って並びになると思いますので、[市区番号]のとこを書き換えてやればオッケーでしょう。
勝手に式1:って付きますが、気にしない気にしない。ではテスト。
ブラボー!!
で、この式1の順番に並ぶよう、昇順の設定をしておけば完璧。
いついかなる時も、まずはこの番号順に都道府県が並んでくれて、いい感じじゃないですか。
しかもカナのフィールドも持ってるので、やろうと思えばアイウエオ順もいけるということで・・・。
式1:っていうのは、クエリーが買って煮付ける、いや、勝手につけるフィールド名のことです。
クエリーはこうやって、基にしているテーブルのフィールド意外にも、式を入力したり関数を使ったりできるんですけど、そういう場合はなんか仮のフィールド名がないと困るみたいなんですね。で、式1って自分で名乗ってるんです。
そんな名前じゃわけわからんという場合は、式1のところを他の単語に書き換えましょう。
半角の:は、削除しちゃだめですよ。
式とフィールド名の区切り記号で、決められてますからね。
都道府県番号 : Left( [都道府県番号], 2 )
これでオッケー。
このくえりーになまえをつけて保存し、テーブルの変わりに利用するっていう手もあります。
クエリーは実データは持ちませんけれど、テーブルと同じようにフォームのレコードソースにしたり、レポートのレコードソースにしたり、コンボボックスの中身にしたりできますから、このままでも使い道はいろいろあります。
でも今回は、テーブルを作りましょうね。いいからいいから。何ごとも挑戦です。
このクエリーの種類を、テーブル作成クエリーに変更します。
ツールバーに「クエリーの種類」っていうのがありますよね。
と、作るテーブルの名前を入力します。
これでオッケー。
じゃ、実行しましょう。この手のアクションクエリーは、実行するためには手っ取り早くツールバーの赤いビックリマークボタンをクリックします。
じわじわじわーっとクエリーが実行され、140537件のレコードがきゅーっとまとまって47件になります。
このメッセージが出たら、作業はほぼ終了。でも油断して[いいえ]をクリックしてはいけませんよ。
[はい]の方をしっかりと意志を持ってクリックしましょう。
[都道府県テーブル]、できました?
さて、このクエリーですけど、別にとっておいてもしょうがない気がするんですけどー・・・どうします?とっときます?
もう使うこともない一回こっきりのクエリーなんで、保存しないでこのまま終わっちゃってもいいと思います。
もったいない!ということでしたら、都クエリーとかなんかそんな名前つけて保存しときましょう。
でも、うっかりこのクエリー開いちゃったりしないようにね。あくまで捨てるのもったいないから取っておく、っていうレベルで・・・。
じゃ、勢いに乗って[市区町村テーブル]も作りましょう。やっぱり基は[郵便テーブル]ですね。
で、とりあえず必要なフィールドを全部選んで、「固有の値」のプロパティを「はい」に設定します。
実行してみると・・・。
んー・・・なんかところどころ歯抜けになってますねぇ・・・。
これもやっぱり事業所テーブルを追加したことで、かな。
追加しなきゃよかったかなー・・・。うーん・・・。
いまさら考えてもしょうがないですよね。
それと、この三つのフィールドだけだと、さっき作った都道府県テーブルとのつながり、持ちにくいですよね。
市区番号があればなんとか拾えないでもないですけど、今回はこのテーブルにも都道府県番号、作っておきますかね。
じゃ、その辺を解決すべく、再度デザイン画面です。
まず、[市区番号]から都道府県番号を作る式、あれを追加しましょう。
こんなかんじですかね。いかがでしょう。
いけてますか?
これで[市区町村テーブル]みたいな名前でテーブルを作れば、うまいこと行きそうですよね。
勢いついでに、[地区テーブル]を作りますか。このテーブルに、郵便番号が格納されるわけですね。
上の並び方でテーブルを作れば、そのとおりに左からフィールドが並びます。並び方もいろいろ工夫してもよいかもしれないですね。
できたー。みなさんオッケーでしょうか。ふいー。
さて、テーブルを3つに分けることができました。こんな操作も、いつかどっかできっとお役に立つんじゃないかなーと思います。
3つテーブルできたら、基にした[郵便テーブル]、いらないんじゃないかと思うんですけど、いかがでしょう。いります?
私は削除しちゃいますね。郵便テーブルクリックしてから、Deleteキーで削除できちゃいます。
![]() |
![]() |
![]() |