みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつもお世話になってます。
ファイルA
テーブルA1
テーブルA2
--------------
ファイルB
テーブルA1(ファイルAのテーブルです)
テーブルB1
ファイルBにはテーブルA1を使用したレイアウトがあるのですが
ファイルAからファイルBを開くときに同じレコードが表示されるようにしたいのです。
UUIDコピー→ファイル開く→貼り付けて検索というスクリプトステップで可能とは思うのですが
もう少しいい方法が無いか悩んでいます。
アドバイスを頂けると助かります。
よろしくお願い致します。
Offline
関連レコードへ移動、で、外部ファイルのレイアウトを使用 をチェックすると、別のファイルのレイアウトが指定できるようになります。その設定で、自己テーブルを指定して、レイアウトをファイルBから指定してみればいかがでしょう。
Offline
リレーションでやるのが「だいぶ」いい方法だと思いますが
「少し」いい方法は、スクリプト実行でBの検索スクリプトを呼ぶときに、UUIDはスクリプト引数で渡します。コピペの必要はありません。
> ファイルB
> テーブルA1(ファイルAのテーブルです)
テーブル定義ではなく、テーブルオカレンスですよね?
とするとファイルAからこのテーブルへのリレーションはできないでしょう。
Offline
あれ?外部データソースの外部テーブルにはリレーションができないんですね?直接やれってことか。そんなもんだったかなあ?
そういえば個人的にはそもそも外部テーブルのレイアウトってあんまり作ったことがない気がする...
じゃあやっぱり検索でやるしかないんでしょうかね。
リレーションを貼らなくても、関連レコードへ移動(外部ファイルのレイアウトを使用)でいいんですよ。
元の対象レコードと同じレコードが対象レコードになり、元のアクティブレコードがアクティブレコードになります。
Last edited by Shin (2021-03-10 14:52:15)
Offline
ファイルBのテーブルを選択しないと「外部ファイルのレイアウトを使用 をチェック」ができません。
チェックできたあとは、選択したテーブルのレイアウトしか選択できません。
テーブルが実在しているファイルを勘違いしていました。
ファイルB から ファイルA へは、関連レコードへ移動で簡単に移れますが、ファイルA からはできませんね。
ファイルB に、ID となるフィールドだけを持たせたテンポラリーテーブルを作っておき、ファイルA からリレーションを張り、さらにそのテーブルから TO の A1 へリレーションを張っておき、関連レコードへ移動を2回行うと、引数に頼らない方法かも。
Offline
そのレコードのみを対象レコードとするのなら検索で。
対象レコードはそのままで目的のレコードが選択されていればいいのなら、
レコードを一つずつ見て行き、目的のレコードで止める。
検索ではユニークな値のフィールドが必要ですが、
探して行くのなら Get ( レコードID ) が使えますね。
しかしこの目的って何なのでしょう?
元のテーブルで済むことの様に思いますが。。
Offline
Shinさん、
ややこしい書き方で申し訳ありません。
関連レコードへ移動を2回利用する方法なんて思いもよらない方法です。
楽しそうなので今度試してみます。
himadaneeさん、
スクリプト引数で渡すというのは余計なステップを無くせてすばらしいです。
作ったスクリプトを元に変えてみます。
チポさん、
そもそもファイルを分けてしまったことが原因なのですがかえって面倒なことになってしまいました。
(前任者のリレーションがぐちゃぐちゃで見やすいものを作りたかったのです)
見にくいリレーションを直すコツとかないでしょうか(笑
Offline
タコ足になり過ぎたリレーションを直すコツは、まずはレイアウト毎にテーブルオカレンスをつけてあげると割と見やすくなるかもですね。
テーブルオカレンスってわかっているようでわかっていなかったり、理解しているつもりでも理解しきれていなかったりと、随分頭を悩ましたりしたことがありました。
一つのオカレンスに変にこだわりを持ち過ぎてごっちゃごちゃになる時は多々ありますよね。
Offline
絡み合ったリレーションマップを整理するには、中心となるオカレンス(リレーション先の多いオカレンス)を探して、それを中心にして配置し直します(マップの真ん中に置く、という意味ではありませんよ)。それを核に、周囲を整理していくと早いでしょう。
マップの中のツールで、「1テーブル離れた関連テーブルを選択」 でを次の階層のオカレンスを探せますので、それを利用すると階層がわかりやすくなります。
レイアウトごとにオカレンスを作っていく方法は、いわゆるアンカーブイの構造でメンテナンスには非常に楽ですので、最終的には移行された方がいいでしょうが、後付けでは極めて困難です。それをすると、スクリプトの中やレイアウト内の表示に不具合を作りこんでしまう可能性が高く、ゼロから作るより労力がかかります。
Last edited by Shin (2021-03-18 09:38:21)
Offline
ウィンさん、
このテーブルどこに使ってるんだろうから調べないといけない状況です。
少しずつやっていくしかないですね。
トピック違いになりそうなのでこれでやめておきます。
ありがとうございました。
Offline
ちなみにツールにデータベースデザインレポートを出力する機能がありますので、調べる時には便利です。
馴染みがないと見辛かったりしますが、要領を得ると大変便利なものになってきますよ。
Offline
Pages: 1
[ Generated in 0.008 seconds, 7 queries executed - Memory usage: 578.29 KiB (Peak: 594.83 KiB) ]