Shinさん
零細な会社で店舗数も2店しかありませんが、真っ新なファイルよりデータ沢山あるファイルの方が表示するとき若干動作が重く感じたことがあったので
当初はファイル間のやり取りは無く、店舗毎のセキュリティグループ作るのも面倒だったため、ファイルコピーして増やしてました。
非効率さはあるかもしれませんが、とりあえず使えているのでこのままいこうかと(汗
通りすがりさん
親切心でご回答やアドバイスされているかと思いますので、私も勉強になり助かっています。ありがとうございます。
ただ、
> FMS上にファイルAとファイルBがあり、AからBへスクリプトでレコードを作成しデータを移すにはどうしたら良いでしょうか?
> AとBはファイル構成が同じなので、レイアウト名も一緒です。
まったく同じ構造のファイルが存在する、しかも、そのファイル間でデータが移動する、というのは、データベースの構造として理論的におかしいです。
スタッフ名というフィールドがあるようですので、職員名簿で退職者などを別ファイルへ移動させているのでしょうが、理論的に正しいのは、退職のフラグを立ててアクセスを振り分ける、という構造です。ファイルの構成から再検討されることをお勧めします。
なのでレコード作成するのはBファイルのスクリプトでないとだめでしょう。
変数は引き継がれないので、引数で渡す必要があります。
使用環境
Filemaker 19
FilemakerServer 19
FMS上にファイルAとファイルBがあり、AからBへスクリプトでレコードを作成しデータを移すにはどうしたら良いでしょうか?
AとBはファイル構成が同じなので、レイアウト名も一緒です。
ファイルAのスタッフというテーブルの 名前 と アカウント を ファイルBの同じくスタッフというテーブルに新規レコードを作り 名前 と アカウントをペーストする
といったことがしたいです。
Bファイルを開いて処理をするのはローカルではなくサーバーで行いたいのでスクリプトをサーバー上のスクリプト実行で作りました。
作ってみたスクリプトは以下です。
---------------------------------------
スクリプト名【Bへスタッフ作成】
変数を設定 [$$名前; 値: スタッフ::名前]
変数を設定 [$$アカウント; 値: スタッフ::アカウント]
サーバー上のスクリプト実行[ サーバー用 を実行 終了するまで待つ:オン ]
---------------------------------------
スクリプト名【サーバー用】
ファイルを開く[非表示の状態で開く:オフ;「B」] //これはちゃんと開かれていました
レイアウト切り替え[「スタッフマスタ」]
新規レコード/検索条件
フィールド設定[スタッフ::名前;$$名前]
フィールド設定[スタッフ::アカウント;$$アカウント]
ファイルを閉じる「現在のファイル」
---------------------------------------
としてファイルAからスクリプト Bへスタッフ作成 を実行しても特になにもなりませんでした。
どういった方法が適切かご教授いただきたいです。
宜しくお願いいたします。