初心者のFileMaker pro Q&A

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

1.ファイルメーカーで解らない事があればここで質問して下さい。

何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

ログインしていません。

アナウンス


#1 2020-11-09 01:46:32

men
ゲストユーザー

三階層になる見積書のレイアウトとコミットコントロールについて

三階層になる見積書のレイアウトとコミットコントロールで悩んでいます。

例のテーブル構造を示します。

・見積書テーブル
得意先ID
見積日
選択商品明細ID(グローバルフィールド)
etc...

・見積書商品明細テーブル
見積書外部キー
商品ID
etc...


・見積書加工明細テーブル
見積書商品明細外部キー
加工内容
金額
etc...


こんな感じの構造があるとき、基本的には
見積書のオカレンスをもとにレイアウトを作成し、
ポータルで見積書商品明細テーブルを配置します。
ポータル内いずれかのレコードをクリックされたときに
選択商品明細ID(グローバルフィールド)に商品明細IDを挿入し
選択商品明細ID(グローバルフィールド)とリレーションされた見積書加工明細テーブルポータルの中身が更新され、
3階層目が閲覧できる、という仕組みで作ります。
まず、皆様がこういった3階層以上になる場合にどういった構造でされているのか?という疑問です。

二点目に、この構造に関して、コミットコントロール(レコードコミット時にコミットをキャンセルさせる手法)を使っていると
ポータルが更新されず、三階層目が正常に見ることができない、という欠陥があります。
ので、三階層の場合はこの仕組みを使うことができないので、どうコミットコントロールさせればよいか不明です。
ご教授いただけると幸いです。

#2 2020-11-09 08:45:00

Shin
メンバー

Re: 三階層になる見積書のレイアウトとコミットコントロールについて

選択商品明細ID(グローバルフィールド)は作りません。ポータルの中の商品IDを、プルダウンメニューなどで直接入力させるように作ります。この構造ですと、データの更新でポータルも再表示されますので、別途の仕組みは不要です。

また、書かれているコミットコントロールの目的はなんでしょうか。

編集者 Shin (2020-11-09 08:58:23)

オフライン

#3 2020-11-09 09:09:05

men
ゲストユーザー

Re: 三階層になる見積書のレイアウトとコミットコントロールについて

Shinさん

ポータル内の商品IDにプルダウンで直接入力とはどういう作りでしょうか。
非常にお手数ですが、簡単なサンプルなど見せていただけませんでしょうか。
コミットコントロールについては、編集内容を破棄or保存できるようにという要件です。

#4 2020-11-10 08:55:26

Shin
メンバー

Re: 三階層になる見積書のレイアウトとコミットコントロールについて

もう少し詳細を教えてください。
> ポータル内いずれかのレコードをクリックされたときに
これは、既入力のポータル行のみへの操作ですか、それとも、未入力の行を含めた操作ですか。
前者のみでしたら、ドロップダウンの話はないですね。

> 選択商品明細ID(グローバルフィールド)に商品明細IDを挿入し
> 選択商品明細ID(グローバルフィールド)とリレーションされた見積書加工明細テーブルポータルの中身が更新され、
この更新とはなんですか。商品IDを選択すればその関連レコードが編集されるのですか。
設定したIDの関連レコード内容が表示される、という意味ですか。

> 3階層目が閲覧できる、という仕組み
閲覧だけでいいのでしたら、例えば、ポップアップで表示させるとか、関連レコードへ移動で別ウィンドウでダイアログ表示させるなどの方法もあります。遅めの反応でもいいのでしたら、ポップアップヘルプを使う手もあります。

編集者 Shin (2020-11-10 13:41:34)

オフライン

#5 2020-11-11 16:48:18

man
ゲストユーザー

Re: 三階層になる見積書のレイアウトとコミットコントロールについて

Shinさん

1.前者のみです。未入力のポータル行はフィールドが全て非表示になっています。
2.そのとおりです。
3.3階層目も複数レコードありますので、ポータル内にポップオーバーを配置して、ポータルを配置することは不可能でした。
別ウインドウでの対応を考えます。

クィック投稿

メッセージを書いて送信してください。
登録の確認

実在の人物による登録であることを確認します。

Board footer