備忘録19〜FileMakerで販売管理を作ろう!その6

前回は、外部キーの入力をスクリプトで実現しました。

今回は、見積管理から受注管理へのデータ移行を実装してみた

やり方がいろいろあるようです・・・

  1. 見積管理と受注管理でリレーションを作り、ルックアップを用いながら作るパターン
  2. エクスポートして、受注管理でインポートするパターン
  3. jsonや改行区切りテキストにして、スクリプトの引数としてデータを渡して、受注管理で新規作成をする

大まかに3つくらい出てきました。

親テーブルは、どれでもいいようなデータ量でしたが、子テーブルを移行する事を考えると・・・

変数にExecuteSQLで子テーブルの必須部分だけリストアップもいいのかな

計算式を作ってみました

ExecuteSQL ( 
"SELECT  \"pk_mitumori_dtl_id\" 
FROM \"見積明細\" 
WHERE  \"__fk_mitumori_ID\" = ?" 

; "" ; "¶" ; 見積管理_basic::pk_mmitumori_ID)

計算結果

1A4FEC0A-BA9B-46E7-A105-2B5AE9001E22
D6944F9D-03DB-4C1D-98FD-E1B8CCCBC165

取得する項目や結果のデータ数によっては、遅くなるかも?

今回は、マージファイルでエクスポートして、対象レイアウトでインポート

csvに似ているマージファイル形式で出力することにしました。一旦デスクトップに出力します。

ヘッダー項目が出るので、csvよりは使い勝手が良さそうです。

テーブル名称は変更しているが、フィールド名はほぼ一緒の状態なので

照合フィールドでインポート項目を選択し、いらないものを「インポートしない」にしました。

受注IDが新たに作成されるので、一度変数に保管しました。

子テーブルに当たる明細テーブルもインポートします。

受注IDを全置換して完了!

動作的にはまあ大丈夫かな・・・

これが正解というのがないので、分かりやすい方法とメンテナンスがしやすいのでは

ないかと思い、今回はこの方式にしました。

変数方式の方がもしかすると、安定性や速度の面でもいいのかもしれません。

このスクリプトを今度は受注→納品にするのに、複製してカスタマイズします。

だいぶ、ボタン動作も作れてきました。

次回は印刷レイアウトに挑戦・・・

メールでの添付も考え、一度PDFにする方向で、次回作成していきます。

スポンサーリンク