普段マイクロソフトのアクセス(以下Accessに略)を使用してデータベース開発をしている自分がFileMakerを使って郵便番号から住所を自動入力する方法を試してみました。
Accessなら簡単なのですが・・・
まだ、FileMakerを使って1週間程度なので良くわかっていませんが、
ココがおすすめ
FileMakerって簡単で使いやすいというイメージ
しかし、今回のテーマである、郵便番号から住所を自動入力に関しては、
ココがダメ
FileMakerで郵便番号から住所自動入力ってメンドクサイ
と思ったのが本音です。
Accessの場合は、プロパティからパパって設定するだけで郵便番号から住所が自動入力されます。
更に、住所を入れると、郵便番号が自動で入力されるという機能も同時に実装されます。
調べて見ると、FileMakerの場合は、郵便局からCSVのデータをインポートしてやる方法と、郵便番号検索APIを使う方法があるようです。
ただ、住所から郵便番号を入力するのは更にメンドクサイ対処が必要な感じです。
簡単な方で郵便番号から住所自動入力
簡単な方と言えば、zipcloudという郵便番号検索APIを使う方法のようです。
https://zipcloud.ibsnet.co.jp/api/search?zipcode=郵便番号【例100-0001】
上記のURLを入力すれば、住所が返ってきます。
それでは手順を追って進めてみたいと思います。
現在試用している、見積請求書システムの会社住所録に実装してみたいと思います。
とりあえず、「JSON」というフィールドを追加しました。
「住所自動入力」というスクリプトを作成しました。
JSONフィールドに入力されたデータを、吸い上げて住所1フィールドに設定する方法に時間がかかりました。
さらに詳しく
フィールド設定[登録会社::住所1;JSONGetElement(登録会社::JSON;results[0].address1)
と設定すれば、県だけなら自動入力されまいたが、results[0].address1とresults[0].address2とresults[0].address3を結合する方法で時間がかかってしまいました。
市町村を一行に結合させる方法は、上の図のコードを参照してください。
ちなみに、JSONのフィールドは、zipcloud情報を取得する場所なので、通常使用時は非表示にしておいた方が良いでしょう。
注意として、レイアウト上に設置しておくことは必須になりますね。
ココに注意
ネットが接続されてないと自動入力はできない
ネット接続がされてない場合は、自動住所入力はされませんので、CSV方式にしないとダメですね。