初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2015-06-03 12:59:32

OCtiger
Member

ポータル内のレコードステータスを更新するスクリプト

はじめまして。

初心者です。
FMPRO V13 Mac

同様の質問が既出かも知れませんが、見つからなかったので質問させて頂きます。

受注TBLの受注レイアウトで、ポータル内に<受注アイテム情報>TBLが個々のレコードとしてあります。
この画面で、受注確定ボタンを作成し、その受注確定ボタンに
スクリプトで、ポータル内の各<受注アイテム情報>レコードの「受注ステータス」項目を情報を受注確定済に変更を
一斉に行うスクリプトを作成したく。

<受注TBL>
日付(Date)
受注番号(TXT)
顧客ID(TXT)
受注金額合計(CAL,SUM(受注アイテム計)

<注文アイテム情報TBL>ポータル
注文番号(TXT)
数量(Num)
品名(TXT)
単価(Num)
受注あいてむ計(CAL, 単価 X 数量)
受注ステータス(TXT)

拙い説明ですみません。

よろしくお願いいたします。

Offline

#2 2015-06-03 13:04:46

旅人
Member

Re: ポータル内のレコードステータスを更新するスクリプト

受注番号のリレーションで関連レコード(のみ)移動して
<注文アイテム情報TBL>の対象レコードの受注ステータス
を"受注確定済" にフィールド内容の全置換する。です。

Offline

#3 2015-06-03 13:19:06

OCtiger
Member

Re: ポータル内のレコードステータスを更新するスクリプト

旅人様

早速のレスポンスありがとうございます!

>受注番号のリレーションで関連レコード(のみ)移動して
関連レコードの移動 ですが、この場合どの関数が適当なのでしょうか?
ポータルで<注文アイテム情報TBL>レコード上にあるデータをどこに移動するのでしょうか?

理解力が乏しく申し訳ありません。

Offline

#4 2015-06-03 13:37:56

旅人
Member

Re: ポータル内のレコードステータスを更新するスクリプト

関数ではなくスクリプトです。
関連レコード移動のスクリプトステップで

関連レコードの取得元を「注文アイテム情報TBL」
レイアウトも「注文アイテム情報TBL」
関連レコードのみ表示にチェック、現在のレコードのみ照合にチェック
にして実行すると、注文アイテム情報TBLに移動してポータル内に表示
されているレコードだけが対象レコードになるはず。

Offline

#5 2015-06-03 16:42:38

OCtiger
Member

Re: ポータル内のレコードステータスを更新するスクリプト

度々ありがとうございます。

ご助言をベースにスクリプトを作成しました。
一応、動くのですが、処理の最後に、
「このレイアウトでは結果を表示できないため、この処理は完了できません。」
というダイアログが表示されます。。。
レイアウトは「現在のレイアウト」を指定しています。

何がおかしいのか、アドバイスいただけますか?

Offline

#6 2015-06-03 17:30:31

チポ
Member

Re: ポータル内のレコードステータスを更新するスクリプト

関連レコードの移動
のオプションで、

表示するレイアウトは、関連テーブルのレイアウトで、
全置換をするフィールドが表示されているものでなければいけませんよ。

Offline

#7 2015-06-03 18:02:31

旅人
Member

Re: ポータル内のレコードステータスを更新するスクリプト

>関連レコードの取得元を「注文アイテム情報TBL」
>レイアウトも「注文アイテム情報TBL」
と書いていましたけど・・・
<受注アイテム情報>と同じということですよね?

Offline

#8 2015-06-03 18:46:05

OCtiger
Member

Re: ポータル内のレコードステータスを更新するスクリプト

チポさん、旅人さん

コメントありがとうございます。
よくよく確認すると、全置換での結果が「注文アイテム情報TBL」ポータルの「受注ステータス」項目全てに反映されています。。。

関連レコードの取得元:「注文アイテム情報TBL」
レコードの表示に使用するレイアウト:<現在のレイアウト>「受注TBL」の受注フォームです。

結果オプション:
関連レコードのみを表示
   現在のレコードのみ参照(選択)

書き方がまちまちで申し訳ありません。

レイアウトは、「受注TBL」上に受注明細の「注文アイテム情報TBL」がポータルで配置されています。

シンプルそうなスクリプトですが、何が間違っているのでしょうか?

Offline

#9 2015-06-03 19:01:01

旅人
Member

Re: ポータル内のレコードステータスを更新するスクリプト

レコードの表示に使用するレイアウトというのは
関連レコード(親テーブルの受注番号と一致する子テーブルの注文番号?を持つレコード)
を表示するためのレイアウトという事ですから、注文アイテム情報TBLのレイアウトです。

Offline

#10 2015-06-04 07:30:55

OCtiger
Member

Re: ポータル内のレコードステータスを更新するスクリプト

おはようございます。

旅人さん
引き続きお付き合いありがとうございます。

ご指摘の通り、
関連レコードの取得元:「注文アイテム情報TBL」
レコードの表示に使用するレイアウト:<現在のレイアウト>「受注TBL」

から

レコードの表示に使用するレイアウト:<「注文アイテム情報TBL」>

に変更したところ、エラーも表示され、ステータス変更が必要なレコードのみに反されました。

私の本来のイメージは、「受注TBL」の受注レイアウトでスクリプトを動作させると、
同レイアウトにある注文アイテム情報TBLポータル情報のステータス項目が更新されると考えていました。
今回の結果がおそらく仕様だとしますと、
レコードの表示に使用するレイアウト:を「注文アイテム情報TBL」のレイアウトで「受注TBL」と同じレイアウトを作成し、
レコードの表示に使用するレイアウト:で指定すれば、本来のイメージ通りの事が可能となりますでしょうか?

どうも、関連レコード移動についての概念が消化しきれておらず申し訳ありません。

Offline

#11 2015-06-04 12:23:04

旅人
Member

Re: ポータル内のレコードステータスを更新するスクリプト

関連レコード移動するのはあくまでも関連テーブルの関連レコードですからイメージ通りにはなりません。
注文アイテム情報TBLで全置換するスクリプトを実行する方法でも、画面が注文アイテム情報TBLに変わる
こともなく瞬時に表示されるわけで、あなたのイメージ通りにするのなら、ポータルの1行目に移動して受
注確定済に変更、次のポータル行に移動して受注確定済に変更・・・をLoopする事になります。

Offline

#12 2015-06-04 16:35:55

OCtiger
Member

Re: ポータル内のレコードステータスを更新するスクリプト

旅人さん

ご説明ありがとうございます。
理解出来ました。

今回やはりもっと勉強が必要と痛感しました。
今後も試行錯誤を重ね自力で解決を目指すますが、どうしてもと言う時はまたお尋ねさせてください。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 524.61 KiB (Peak: 545.15 KiB) ]