みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
分離モデルでシステムを作成しています。
main.fmp12
data.fmp12
master.fmp12
main.fmp12 に担当者マスタ(master.fmp12)を表示する担当者レイアウトがあり、レコード:Aさんから
login_name : Aさん
login_pass : password
login_kengen : 閲覧のみ
というフィールドを作成して、アカウント追加スクリプトを実行すると、main.fmp12に loginnameのアカウントが追加されます。
これを同じ様にdata.fmp12、master.fmp12も同じ様にアカウントを追加したいのですが、うまく行きません。
data.fmp12、master.fmp12にも同じレイアウトを作成して、アカウント追加スクリプトを実行しても、Aさんのデータをうまくとれません。
どのようにリレーションすれば良いのでしょうか?
Win,mac混合 FMP19です。ご教授よろしくお願いします。
Offline
リレーションでなくスクリプト引数で渡せばいいのでは?
レイアウトは不要でしょう。
まず、それを実行するアカウントで、スクリプトが動くかどうかを確認しましょう。
そのスクリプトが、管理者権限で動いていることを確認しましょう。
同じオカレンスでのレイアウトがあったとしても、対象レコードは引き継ぎませんので、新たに選択します。スクリプト引数で渡すので、簡単ですよ。
Offline
himadanee様、Shin様、ありがとうございます。
スクリプト引数で、担当者マスタのIDを渡し、各ファイルのレイアウトでそのIDの担当者を検索し、アカウントを作成するのはできました。
ただhimadanee様のレイアウトが不要というのがわかりません。レイアウトなしにするには、どのような引数を渡すのでしょうか?
スクリプト引数で、2つ以上(loginname,loginpass)を渡せるのでしょうか?
Last edited by nyoro (2022-05-31 09:20:07)
Offline
GetField ( master_tantosha::loginname ) & "¶" &
GetField ( master_tantosha::loginpass ) & "¶" &
"管理"
とスクリプト引数に渡して、受け取り側は、
変数を設定 [$引数1; 値:GetValue(Get(スクリプト引数);1)]
変数を設定 [$引数2; 値:GetValue(Get(スクリプト引数);2)]
変数を設定 [$引数3; 値:GetValue(Get(スクリプト引数);3)]
としましたが、
GetField ( master_tantosha::loginname )が?になります。
Offline
main.fmp12 に担当者マスタ(master.fmp12)を表示する担当者レイアウト
で必要な値を取得(GetField関数は不要です。フィールド名だけでフィールド値が参照されます)
それを各ファイルのスクリプトに引数で渡します。(3つ渡す方法は自己解決済みですね。改行のないデータは、その方法でOK)
試してませんけど、アカウント関係のスクリプトステップはレコードと無関係なので、どのレイアウトでも実行できますよね?
ありがとうございます。理解できました。
Offline
最近は、JSON で渡すのが流行ですが、ちょっと古い方法で。
"$引数1" & " = " & master_tantosha::loginname & " ;¶" &
"$引数2" & " = " & master_tantosha::loginpass & "; ;¶" &
"$引数3" & " = " & "管理"
を引数で渡します。
スクリプト側では、最初のステップで、
変数を設定 [ $dummy ; 値:Evaluste ( "Let ([" & Get(スクリプト引数) & "]; 0 )" )]
を設定します。
その後、$引数1、$引数2、$引数3 が設定されていますので、アカウントを作成 が実行できます。
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 517.28 KiB (Peak: 521.82 KiB) ]