備忘録19〜FileMakerで販売管理を作ろう!その6
前回は、外部キーの入力をスクリプトで実現しました。
今回は、見積管理から受注管理へのデータ移行を実装してみた
Contents
やり方がいろいろあるようです・・・
- 見積管理と受注管理でリレーションを作り、ルックアップを用いながら作るパターン
- エクスポートして、受注管理でインポートするパターン
- 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にする方向で、次回作成していきます。
ディスカッション
コメント一覧
まだ、コメントがありません