カテゴリー
Apple

【FileMaker】初期データをインポートするときのポイントとスクリプト

環境

  • Windows7 Professional 32bit
  • FileMaker Pro 14 Advanced

状況

  • データベース用のファイルメーカー (以下、FM) ファイルがあり、システム用の FM ファイルが別にある、という構成
  • データベース用 FM へ別の FM からデータをインポートする。
  • データベース用 FM は日々アップデートされ、新しくなったデータベース用 FM がまるごと送られてくる。そのため再びデータをインポートし直す必要がある。

ポイント

  • データベース用 FM に別の FM からデータをインポートするスクリプトを用意する。
  • アップデートされたデータベース用 FM が送られてきたら、インポートスクリプトを新しいデータベース用 FM へインポートする。
  • スクリプトインポート時、テーブルのフィールドに不一致があるとその内容がログファイルに出力される。
  • スクリプトで設定するインポート時のテーブルおよびフィールドのひも付け [フィールドデータのインポート順] の内容もインポート可能

スクリプトを別の FileMaker ファイルへインポートする手順

  1. [スクリプトワークスペース] (Ctrl+Shift+S) > [ファイル] > [インポート]
  2. インポートするスクリプトのある FM ファイルを選択
  3. インポートするスクリプトにチェックし [OK]

たとえは、次のウィンドウが結果として表示されます。

インポートの概要 (詳細はログファイルを参照)

ステータス: 完了
インポートされた項目: 1
競合のために名前が変更された項目: 0
エラー数: 0

(すべての参照が有効であることを確認してください。アクセス権、リレーションシップ、および参照項目はインポートされません。)

FileMaker ファイルから別の FileMaker ファイルへテーブルデータをインポートするスクリプト

  • テーブルの全レコードを削除し、新しいデータを挿入する。
  • シリアル値を 1 にリセットする。
  • テーブル 1 つずつに対して、スクリプトを書く。
  • [レコードのインポート] の [フィールドのインポート順] での [インポート方法] は、[新規レコードとして追加] を選択する。

以下例として、テーブル1 (ID フィールドにシリアル値が設定されている) に対するインポートスクリプトです。実際は他のテーブルに対しても同様のスクリプトをコピペして作成します。

レイアウト切り替え [テーブル1のレイアウト]
全レコードを表示
対象レコード削除 [ダイアログなし]
次のシリアル値を設定 [テーブル1::ID; 1]
レコードのインポート [ダイアログなし; 「インポート元ファイル.fmp12」; 追加; シフト JIS]

本当は、このスクリプトを関数に切り出したかったのですけれども、ファイルメーカーの経験が少なく調べてみても上手くいきませんでした><。

おわりに

参考ページです。ありがとう存じます!

以上です。

コメントを残す