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

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

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

You are not logged in.

Announcement

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


#1 2019-05-17 13:00:35

8787
Member

分離モデルでの関連レコードに移動

現在、後学のために分離モデルでの簡易な伝票入力を作成しています。

2つ質問があります。
1、関連レコードに移動ステップで外部レイアウトを設定しようとしてもデータベースを持ったファイルのレイアウトしか設定できないのですが
  これは仕様でしょうか?

2、分離モデルで関連レコードに移動したい場合はデータ側にアプリ側と同じレイアウトを作成して関連レコードに移動するか
   アプリ側のレイアウトで検索をかけるしかないのでしょうか?

よろしくお願いします。

Offline

#2 2019-05-17 13:36:42

札幌太郎
Guest

Re: 分離モデルでの関連レコードに移動

1、関連レコードに移動ステップで外部レイアウトを設定しようとしてもデータベースを持ったファイルのレイアウトしか設定できないのですが
  これは仕様でしょうか?

外部テーブルのレイアウトを使用にチェックを入れるべし。

2、分離モデルで関連レコードに移動したい場合はデータ側にアプリ側と同じレイアウトを作成して関連レコードに移動するか
   アプリ側のレイアウトで検索をかけるしかないのでしょうか?

なんのための分離なのかよくわかりませんし、何がしたいかよくわかりませんが、上記のように外部の( データ側の )レイアウトに移動できますよ。

#3 2019-05-17 15:11:27

Shin
Member

Re: 分離モデルでの関連レコードに移動

分離モデルかどうかに関係なく、何らかの意図が無ければ、運用しているファイルにTO を持たせ、レイアウトを持たせるのがいいです。そのファイル内で関連レコードへ移動 を行えます。
分離モデルの現実的な作りとしては、データファイル側には、管理用のレイアウト(表型式の一覧程度)は作るでしょうが、それ以上は、意図が無い限りは作らないでしょう。

Offline

#4 2019-05-17 16:07:40

8787
Member

Re: 分離モデルでの関連レコードに移動

申し訳ございません。説明が足りませんでした。

行いたいのはアプリ側のレイアウトから別ファイルのアプリ側のレイアウトへの関連レコードに移動です。

Offline

#5 2019-05-17 16:32:45

8787
Member

Re: 分離モデルでの関連レコードに移動

外部テーブルのレイアウトを使用にチェックは入れてます。

札幌太郎 wrote:

1、関連レコードに移動ステップで外部レイアウトを設定しようとしてもデータベースを持ったファイルのレイアウトしか設定できないのですが
  これは仕様でしょうか?

外部テーブルのレイアウトを使用にチェックを入れるべし。

2、分離モデルで関連レコードに移動したい場合はデータ側にアプリ側と同じレイアウトを作成して関連レコードに移動するか
   アプリ側のレイアウトで検索をかけるしかないのでしょうか?

なんのための分離なのかよくわかりませんし、何がしたいかよくわかりませんが、上記のように外部の( データ側の )レイアウトに移動できますよ。

Offline

#6 2019-05-17 16:37:53

チポ
Member

Re: 分離モデルでの関連レコードに移動

どのファイルのどのテーブルも、
リレーションシップグラフに表示できます。

リレーションシップグラフにあるTOのレイアウトを作ることができます。

Offline

#7 2019-05-17 17:31:10

8787
Member

Re: 分離モデルでの関連レコードに移動

それは承知していますが関連レコードに移動するのはデータベースを持ったファイルのみにアクセスするのでしょうか?
私がアクセスしたいのは別ファイルのアプリ側のレイアウトです。

チポ wrote:

どのファイルのどのテーブルも、
リレーションシップグラフに表示できます。

リレーションシップグラフにあるTOのレイアウトを作ることができます。

Offline

#8 2019-05-17 17:59:16

Shin
Member

Re: 分離モデルでの関連レコードに移動

分離モデルをとっている場合、別のソリューション側のレイアウトは参照できません。
関連レコードへ移動で、別ファイルのレイアウト... は、その関連レコードを実体として保存している別のファイルのレイアウトを利用して、そのファイルを開く動作を行い、外部データベースとしてのTOを持つファイルへのアクセスはできないでしょう。
最も単純な例として、データファイル側から、ソリューションファイル側への移動ができるかどうか、お試しください。

Offline

#9 2019-05-17 19:38:13

8786
Guest

Re: 分離モデルでの関連レコードに移動

やっと理解できました。ありがとうございます。

それでは分離モデルを取っている場合、関連レコードに移動するには
別アプリのファイルを開いて検索するのが一般的なのでしょうか?

Shin wrote:

分離モデルをとっている場合、別のソリューション側のレイアウトは参照できません。
関連レコードへ移動で、別ファイルのレイアウト... は、その関連レコードを実体として保存している別のファイルのレイアウトを利用して、そのファイルを開く動作を行い、外部データベースとしてのTOを持つファイルへのアクセスはできないでしょう。
最も単純な例として、データファイル側から、ソリューションファイル側への移動ができるかどうか、お試しください。

#10 2019-05-18 08:46:50

Shin
Member

Re: 分離モデルでの関連レコードに移動

普通の設計でしたら、ソリューションファイルを渡るような設計はせずに、1部署での使用は1個にまとめるでしょうね。

どうして必要でしたら、データファイルを介して移動すればいいのでは。

Offline

#11 2019-05-19 10:00:39

Moz
Member

Re: 分離モデルでの関連レコードに移動

分離モデルをとっている場合、別のソリューション側のレイアウトは参照できません。

これは誤りです。分離モデルの場合でもデータファイル側に素のレイアウトは作られるので参照まではできます。

例えばファイルA、ファイルBが別れていて、
ファイルAにテーブルA、ファイルBにテーブルBある場合に
ファイルAのリレーションシップでテーブルAとテーブルBにリレーションが設定されていれば
[関連レコードへ移動]でテーブルAのレイアウトからファイルBのテーブルBのレイアウトを指定してレコードを表示することはできます。
※この場合にファイルBの中でテーブルBにリレーションが設定されているか否かは関係ありません。
ただしその先はファイルBでの作業となりますので関連レコードに対して何か処理がしたければ
ファイルBのスクリプトで処理する必要があります。また、この手法は分離モデルではありません。

分離モデルは他の皆さんが書かれていますが、インタフェースファイル側にレイアウト・スクリプトをまとめる形ですので
双方のファイルにレイアウトもスクリプトもある場合は単なる複数ファイルの カスタムApp です。

Last edited by Moz (2019-05-19 10:02:35)

Offline

#12 2019-05-19 12:19:33

Shin
Member

Re: 分離モデルでの関連レコードに移動

分離モデルの場合、データファイルから、インターフェースファイルへリレーションを張る事は通常はしませんね。
その場合、複数のインターフェースファイル間でレイアウトの共有はできないはずですが。何か裏技があるのですか。

Offline

#13 2019-05-19 12:25:57

Moz
Member

Re: 分離モデルでの関連レコードに移動

おそらく何か勘違いされてるだけだと思うのですが
札幌太郎さんも書かれていますが、インタフェースファイルにリレーションが設定されていれば
インタフェースファイル側のスクリプトで関連レコード移動を用いてデータファイルのレイアウトを表示することは可能です。
※上にも書きましたがデータファイルのレイアウトで開きますのでその後の処理はデータファイルのスクリプトを使わなくてはいけません。
それをやってしまうと分離モデルではなくなりますネ。

Last edited by Moz (2019-05-19 12:27:14)

Offline

#14 2019-05-20 08:47:39

Shin
Member

Re: 分離モデルでの関連レコードに移動

前提が違う話になっていますので、私の前提を説明しておきます。
データファイルAにテーブルB, C がある。インターフェースファイルD, Eに、それぞれTO B, C があり、それぞれのファイルの中でリレーションされている。ファイル間のリレーションは無い、という環境です。
この場合、データファイルAでデータを開いたとしても、インターフェースファイルDへの関連レコードへ移動、そのものが成り立たないですし、仮に、分離モデルの前提を崩してAとDにリレーションを張ったとしても、Dのレイアウトは利用できない、という事です。スレ主さんはこれをやりたいのでは。
簡単な検証はしていますが、誤っていますか。

Last edited by Shin (2019-05-20 09:12:33)

Offline

#15 2019-05-20 09:46:17

Moz
Member

Re: 分離モデルでの関連レコードに移動

申し訳ない。 #4 でインタフェースファイル間での関連レコード移動と書かれていますね。
言葉がインタフェース、アプリ、ソリューションと様々だったので読み違えていました。言い訳ですが(汗)

1、関連レコードに移動ステップで外部レイアウトを設定しようとしてもデータベースを持ったファイルのレイアウトしか設定できないのですが
  これは仕様でしょうか?
2、分離モデルで関連レコードに移動したい場合はデータ側にアプリ側と同じレイアウトを作成して関連レコードに移動するか
   アプリ側のレイアウトで検索をかけるしかないのでしょうか?

1)について 書かれているとおり(仕様というには語弊がありますが)
・関連レコードで移動できるのは
リレーション設定されているテーブルオカレンスのレコード(リレーションは必須)
同じ実体テーブルに基づくテーブルオカレンスのレコード(リレーションがなくても可)*2
リレーション設定されているテーブルオカレンスの実体テーブルの存在するファイルで実体テーブルに基づくテーブルオカレンスのレコード(相手ファイルにリレーションがなくても可)
・他のファイルのレイアウトが開けるのは
リレーション設定されているテーブルオカレンスの実体テーブルの存在するファイルの場合
→外部ファイルのレイアウトで指定できるの実体テーブルを持つファイルのレイアウトのみです。

インタフェースファイルは実体テーブルが存在しないので、
インタフェースファイルを外部データソースに指定してもインタフェースファイルに基づくテーブルオカレンスは作成できません。
(テーブルオカレンスに対してテーブルオカレンスを作ることはできません)

*2 の動きがあるので全てのテーブルオカレンスを繋げずとも目的別にテーブルオカレンスグループを作る「アンカーブイモデル」が実現できます。
※同じ実体テーブルに基づくテーブルオカレンス間で関連レコード移動をすれば対象レコードが共有できます。

2)インタフェースファイル→データファイルはリレーションがなくてもできます。
インタフェースファイル→インタフェースファイルはリレーションが作れませんからできません。

インタフェースファイル間で対象レコードを共有したいならば主キーのリストなどで渡せば良いでしょう。
集計フィールドの一覧が役に立つでしょう。

レイアウトの共有という言葉が出てきますが、他のファイルのレイアウトを自分のファイル内で開くことはできません。
関連レコード移動で他のファイルが開いて該当するレイアウトが表示されるだけです。
そのため後に続く処理をスクリプトで書いてしまうと元のウインドウ(ファイル)で実行されて事故が起きます。

Last edited by Moz (2019-05-20 09:52:19)

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 7 queries executed - Memory usage: 557.85 KiB (Peak: 578.39 KiB) ]