トップ回答者
郵便番号データの照会の仕方について

質問
-
今回もよろしくお願いします。VB2005+ACCESS2000でWindowsアプリケーションを開発しています。
TextBox1に郵便番号を入力して、ボタンを押したらTextBox1に住所を自動表示できるようにしたいと思い、郵政省のCSVファイルからAccessのデータテーブル(zip)を作ってみました。現在あるDataSetとは別に、郵便番号用のDataSet(YubinDataSet1)を追加して実験してみました。
住所変換は、Form2で行うのでForm2のLoad時に
Me.ZipTableAdapter.Fill(Me.YubinDataSet1.zip) と書き込みました。で、デバッグしたところ、Form1(起動画面)からForm2を呼び出すときに、ものすごく時間がかかりました。データ量が多いからだと思います。パソコンのモーター音みたいなのも発生し、20秒くらいかかってやっとForm2が開くような感じです。もっとあっさり開くようにしたいのですが、なにぶん開発経験がなく、よくわかりません。郵便番号から住所をさがすようなプログラムを組む場合、住所のデータはどのように保持して呼び出すのが良い方法なのでしょうか?アドバイスお願い致します。
回答
すべての返信
-
ジープさま、trapemiyaさま、おがわみつぎさま、じゃんぬねっとさま、返信ありがとうございました。
データテーブル名を「zip」としたことで、混乱させてしまいすみませんでした。じゃんぬねっとさまのおっしゃるとおり、zip-codeのzip、と単純に名づけてしまいました。
レコード件数ですが、14万件くらいです。郵政省のデータは評判が悪いみたいなので、入力補助、くらいに考えています。
Trapemiyaさまのアドバイスによると、Form2を呼び込むときにFillせずにSelect文で取ってくれば良いとのことなのでこれから試してみます。その中でまた質問がでてくると思いますので、その際にはよろしくお願い致します。
返信してくださった皆様、ありがとうございました。
-
なんとか実装できましたのでご報告いたします。
TrapemiyaさまのおっしゃっていたSELECT文でデータを表示できるようにしたら、とても動作が速くなりました。データを照会するときはなんでもかんでもFillすると思っていたので、とても勉強になりました、ありがとうございました。
「郵便番号から住所」と「SELECT文」というキーワードで、Googleで調べたら
http://www.atmarkit.co.jp/fdotnet/aspexp/aspexp12/aspexp12_04.html というページに参考コードが載っていたので参考にしました。返信を下さいました皆様、ありがとうございました