郵便番号から住所の自動入力/ファイルメーカー

郵便番号.fmの準備

日本郵便のwebサイトから郵便番号データをダウンロードする。
郵便番号データダウンロード
こちらの「住所の郵便番号(CSV形式)」のうち

読み仮名データの促音・拗音を小書きで表記しないもの
例:ホツカイドウ
読み仮名データの促音・拗音を小書きで表記するもの
例:ホッカイドウ

のどちらでも良い。また、「全国一括」「都道府県別」など用途に合わせて選択する。
ダウンロードした「ken_all.zip」を解凍する。解凍してできたフォルダ「ken_all」の中の「KEN_ALL.CSV」をファイルメーカーに読み込む。

ファイルメーカーの「ファイル」から「新規データベース」を選択。ファイル名を「郵便番号簿」(任意)として、データベースを作成。「ファイル」から「レコードのインポート」を選択して「ファイル」を選択。「ken_all」の中の「KEN_ALL.CSV」を選択。

読み込むCSVには15のフィールドがあるが必要な物だけインポートすれば良い。

フィールド名は
「フィールド1」→「ID]
「フィールド2」→「郵便番号前」
「フィールド3」→「郵便番号」
「フィールド4」→「都道府県フリガナ」
「フィールド5」→「市区フリガナ」
「フィールド6」→「町村名フリガナ」
「フィールド7」→「都道府県」
「フィールド8」→「市区」
「フィールド9」→「町村名」

にそれぞれ変更した。

ついでに、市区町村の連結フィールドを作り、索引設定を「最小限」に設定して

計算結果に
市区 & Substitute ( 町村名 ; “以下に掲載がない場合” ; “” )
又は
都道府県 & 市区 & Substitute ( 町村名 ; “以下に掲載がない場合” ; “” )
として、新しいフィールドを作った。

以前はこれでデータが自動で入ったと思ったが、今回空欄のままのフィールドになったので、フィールドの内容を置き換えた。

ファイルメーカーの「レコード」から「フィールド内容の全置換」を選択

「計算結果で置き換える」にチェックを入れて上の式を入力して「置換」を実行する。

これで「郵便番号簿」の準備は完了した。

住所録を準備する

必要なフィールドを作って住所録を準備する。

準備した住所録に郵便番号簿をインポートする。以前は分けて使っていたが、ユーザーがファイルを移動すると「郵便番号簿が見つかりません」のエラーが出てしまうのでインポートしてしまうほうが、リスクが少ない。
どうしてもわけて使う場合はリレーションシップで追加する。

ファイルメーカーのメニュー、「ファイル」から「レコードのインポート」→「ファイル」を選択する。先に用意した「郵便番号簿」を選んで、新規テーブルに必要なフィールドを指定してインポートする。

インポートが完了すると、メニューの「ファイル」から「管理」→「データベース」を選択して「リレーションシップ」のタブを開き、「郵便番号」と「郵便番号」をつなぎ合わせる。

住所録の郵便番号フィールドを、「ルックアップ」に設定する。
「ファイル」→「管理」→「データベース」を開いて、「郵便番号」を選択。「ルックアップ値」を指定する。
指定するルックアップ値は、「郵便番号簿」の「郵便番号」とする。

値一覧を設定する。
「ファイル」メニューから、「管理」→「値一覧」を開き、「新規」の値一覧を作る。値一覧名を任意に変更して、「フィールドの値を使用」にチェックを入れる。
「値一覧に使用するフィールドの指定」ウィンドウが出るので、「最初のフィールドの値を使用」で「郵便番号簿」の「市区町村」を指定して「次のテーブルから関連レコードの値のみを含める」で「住所録」を選択する。

最後に「インスペクタ」で値一覧で今作った値一覧選択して、「一覧の表示切り替え矢印を表示」するにチェックを入れて終了。

これで郵便番号を入力すると、住所が自動入力できて、かつ、選択肢がある場合は選べるようになった。

仮に「6780091」と入力して、選択肢がでればOKである。

Follow me!