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

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

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

You are not logged in.

Announcement

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


#1 2015-11-16 13:40:55

けんた
Guest

複製したレイアウトにあるフィールドを別のテーブルオカレンスのフィールドに効率的に割当て直すには

いつもお世話になっております。

あるテーブルTがあるとします。
そして、TのテーブルオカレンスであるTO1とTO2があるとします。
また、TO1と関連づけられたレイアウトL1があるとします。
そこで、L1を複製して、L2を作り、それにTO2を関連づけたいとします。

その場合、L2のレイアウト設定の「レコードを表示」を別のテーブルオカレンスであるTO2に切替えるのですが、そのままだと、そこに配置されているフィールドが〈非関連テーブル〉となってしまうので、一つ一つのフィールドに対してTO2と結びつけ直すという作業をしいています。

フィールド数が少ない場合は大した手間では無いのですが、多くなってくると手間に感じます。
何かもっと効率的な方法はないでしょうか。

環境:Win7,FMPA13

#2 2015-11-16 13:48:52

Shin
Member

Re: 複製したレイアウトにあるフィールドを別のテーブルオカレンスのフィールドに効率的に割当て直すには

複製するなら多分無理。コイペするなら、方法が無い事も無い。
コピペするなら、クリップボードの中を編集するツールで、フィールドが参照しているテーブルオカレンス名を編集すれば良い。(大体は一括置換でいいのでは)
または、テーブルオカレンス名を TO1 から TO2 へ変更しておいてコピー、TO名を元に戻してペーストすれば、TO2のものとしてペーストされる。

Offline

#3 2015-11-16 14:07:32

チポ
Member

Re: 複製したレイアウトにあるフィールドを別のテーブルオカレンスのフィールドに効率的に割当て直すには

どうしてそのような構造になってしまうんでしょう。

全てテーブルTで統一すれば簡単ですよね。

Offline

#4 2015-11-16 22:31:28

けんた
Guest

Re: 複製したレイアウトにあるフィールドを別のテーブルオカレンスのフィールドに効率的に割当て直すには

皆様、返信ありがとうございました。

Shin wrote:

複製するなら多分無理。

了解しました。できないということなら、それを前提に対応していきます。

Shin wrote:

コピペするなら、クリップボードの中を編集するツールで、フィールドが参照しているテーブルオカレンス名を編集すれば良い。(大体は一括置換でいいのでは)

FMClipboardEditというツールを使って可能なことを確認しました。
いざという時は、このツールを使うことで対応しようと思います。

チポ wrote:

どうしてそのような構造になってしまうんでしょう。
全てテーブルTで統一すれば簡単ですよね。

数にもよるのでしょうが、一つのテーブルオカレンスを多くのレイアウトに関連づけてしまうと、それだけリレーションが複雑になってしまうので、レイアウトによっては別名でテーブルオカレンスを定義して、それにそのレイアウトと関連のあるテーブルオカレンスとだけリレーションを構築したいという要望があったためです。

#5 2015-11-16 23:57:36

Shin
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.014 seconds, 7 queries executed - Memory usage: 508.59 KiB (Peak: 515.3 KiB) ]