住所入力を正確にする(サンプル:CZ1303Address)
今までの2つのサンプルは、郵便番号から住所を自動検索していました。ところで、住所を直接入力するときに、住所データとぶつけて正確に入力したいという要望があった場合はどうしたらいいでしょうか。このような要望もInputManなら解決できます。
それが住所コントロール(GcAddressBox)です。
ツールボックスから「GcAddressBox」アイコンをフォーム上にドラッグ&ドロップして住所欄として配置します。
入力フィールドの表示スタイルなどを設定するには、コントロール右上のタスクから[入力フィールドの編集]ダイアログを表示して行います。
コントロールを貼り付けたデフォルト状態の入力フィールド状態ですが、実行して動きを確認できます。
Visual Studioから起動して住所欄にフォーカスを移動すると、「都道府県」が自然にドロップダウンリストとして開きます。もちろんドロップダウンリストなので、「東京都」を入力しても、リストから選択しても入力し「東京都」を選択しても入力できます。
都道府県が入力できたら、次は「市町村区」の部分がドロップダウンリストとして開きますので、同様に「千代田区」を入力します。
最後に「町名」を選択して、丁目などを追加記入すれば住所入力完了です。
ここで入力した住所は郵便番号データに存在する住所になるので住所コントロールのZipCodeプロパティで郵便番号を逆引きできます。
また、GcAddressBoxでの入力をキーにして地区コードを逆引きするには、住所コントロール(GcAddressBox)のSelectedPrefecture.Codeプロパティまたは、SelectedCity.Codeプロパティを利用して取得できます。
まとめ
InputMan+JPAddressで住所周りの機能を確認してみました。コントロールのプロパティだけでこれだけのことができるのは驚きでしたし、実際に動作させてみると実用十分な検索速度にも驚かされます。いろいろ悩んでRDBMSなどを導入してシステム化していたのが馬鹿らしくなるくらいの品質と手軽さです。これは使わない手はない、と思える機能に出会えたうれしさがこみ上げてくる検証となりました。