none
郵便番号データの照会の仕方について RRS feed

  • 質問

  • 今回もよろしくお願いします。VB2005+ACCESS2000でWindowsアプリケーションを開発しています。

    TextBox1に郵便番号を入力して、ボタンを押したらTextBox1に住所を自動表示できるようにしたいと思い、郵政省のCSVファイルからAccessのデータテーブル(zip)を作ってみました。現在あるDataSetとは別に、郵便番号用のDataSet(YubinDataSet1)を追加して実験してみました。

    住所変換は、Form2で行うのでForm2のLoad時に

     Me.ZipTableAdapter.Fill(Me.YubinDataSet1.zip) と書き込みました。で、デバッグしたところ、Form1(起動画面)からForm2を呼び出すときに、ものすごく時間がかかりました。データ量が多いからだと思います。パソコンのモーター音みたいなのも発生し、20秒くらいかかってやっとForm2が開くような感じです。もっとあっさり開くようにしたいのですが、なにぶん開発経験がなく、よくわかりません。郵便番号から住所をさがすようなプログラムを組む場合、住所のデータはどのように保持して呼び出すのが良い方法なのでしょうか?アドバイスお願い致します。

     

    2007年1月12日 1:15

回答

  • こんにちは、ジープです。

     

    わたしもデータベースをいじり始めて間もないのですが…

    少し疑問に思ったのですが、Zipって圧縮データじゃなかったでしたっけ…?

    それともVB2005でZip形式って新しく追加されたのでしょうか?

    (わたしはVB.net開発なんです(・ω・`))

     

    あとデータベースに登録しているデータって何件くらいですか?

    2007年1月12日 1:30
  • zipはたぶん、郵便番号のことだと思います。
    ところで、そんなに時間がかかるのはおかしいですね。どのようなロジックでしょうか? Fillする必要はないと思います。普通はselect文で取ってくれば十分でしょう。
    また、ご存知かもしれませんが、郵政省の郵便番号データは完全ではないので、あくまで人間が入力する補完という捕らえ方をして下さい。
    2007年1月12日 1:37
    モデレータ
  • 郵政省のデータね。。。
    ほんと最悪ですよ。
    京都はダメダメ、愛知もダメダメだったかな。
    ともかく補助的な機能だという意味合いにしておいたほうがいいです。
    #何とかと何とかを除く地域は XXX-YYYY だなんて記述がありますし。
    #人間じゃないと判断できない。。。

    2007年1月12日 5:58
  •  おがわみつぎ さんからの引用
    郵政省のデータね。。。
    ほんと最悪ですよ。
    京都はダメダメ、愛知もダメダメだったかな。
    ともかく補助的な機能だという意味合いにしておいたほうがいいです。
    #何とかと何とかを除く地域は XXX-YYYY だなんて記述がありますし。
    #人間じゃないと判断できない。。。

    ダウンロード後、解析して整形しなおす静的ライブラリを作ったことがあります。

    # 私も、「それ以外」 の表記はありえないと思いました...

    2007年1月12日 7:32

すべての返信

  • こんにちは、ジープです。

     

    わたしもデータベースをいじり始めて間もないのですが…

    少し疑問に思ったのですが、Zipって圧縮データじゃなかったでしたっけ…?

    それともVB2005でZip形式って新しく追加されたのでしょうか?

    (わたしはVB.net開発なんです(・ω・`))

     

    あとデータベースに登録しているデータって何件くらいですか?

    2007年1月12日 1:30
  • zipはたぶん、郵便番号のことだと思います。
    ところで、そんなに時間がかかるのはおかしいですね。どのようなロジックでしょうか? Fillする必要はないと思います。普通はselect文で取ってくれば十分でしょう。
    また、ご存知かもしれませんが、郵政省の郵便番号データは完全ではないので、あくまで人間が入力する補完という捕らえ方をして下さい。
    2007年1月12日 1:37
    モデレータ
  •  ジープ さんからの引用
    少し疑問に思ったのですが、Zipって圧縮データじゃなかったでしたっけ…?

    Zip-Code is 郵便番号.

    2007年1月12日 3:52
  • あああああ

     

    Zipってファイル形式じゃなくてデータベース名ってことですか…(ノД`)

    早とちりすんません_| ̄|.゜・:. ボン

    2007年1月12日 4:07
  • いえ、Zipドライブでもなく、テーブル名のようですよ。(^^;
    (Zipって頭が大文字になると、Zipドライブを思い出します。どうでもいいですが、I/Omega社製ドライブのモーター音がたまらなく好きだったw)

    ジープさんとZipということで、これも何かの縁かもしれませんね。

    2007年1月12日 4:57
    モデレータ
  • 郵政省のデータね。。。
    ほんと最悪ですよ。
    京都はダメダメ、愛知もダメダメだったかな。
    ともかく補助的な機能だという意味合いにしておいたほうがいいです。
    #何とかと何とかを除く地域は XXX-YYYY だなんて記述がありますし。
    #人間じゃないと判断できない。。。

    2007年1月12日 5:58
  •  おがわみつぎ さんからの引用
    郵政省のデータね。。。
    ほんと最悪ですよ。
    京都はダメダメ、愛知もダメダメだったかな。
    ともかく補助的な機能だという意味合いにしておいたほうがいいです。
    #何とかと何とかを除く地域は XXX-YYYY だなんて記述がありますし。
    #人間じゃないと判断できない。。。

    ダウンロード後、解析して整形しなおす静的ライブラリを作ったことがあります。

    # 私も、「それ以外」 の表記はありえないと思いました...

    2007年1月12日 7:32
  • ジープさま、trapemiyaさま、おがわみつぎさま、じゃんぬねっとさま、返信ありがとうございました。

    データテーブル名を「zip」としたことで、混乱させてしまいすみませんでした。じゃんぬねっとさまのおっしゃるとおり、zip-codeのzip、と単純に名づけてしまいました。

    レコード件数ですが、14万件くらいです。郵政省のデータは評判が悪いみたいなので、入力補助、くらいに考えています。

    Trapemiyaさまのアドバイスによると、Form2を呼び込むときにFillせずにSelect文で取ってくれば良いとのことなのでこれから試してみます。その中でまた質問がでてくると思いますので、その際にはよろしくお願い致します。

    返信してくださった皆様、ありがとうございました。

     

    2007年1月12日 8:14
  • なんとか実装できましたのでご報告いたします。

    TrapemiyaさまのおっしゃっていたSELECT文でデータを表示できるようにしたら、とても動作が速くなりました。データを照会するときはなんでもかんでもFillすると思っていたので、とても勉強になりました、ありがとうございました。

    「郵便番号から住所」と「SELECT文」というキーワードで、Googleで調べたら

    http://www.atmarkit.co.jp/fdotnet/aspexp/aspexp12/aspexp12_04.html というページに参考コードが載っていたので参考にしました。返信を下さいました皆様、ありがとうございました

     

    2007年1月12日 12:11