みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
Winxp FMPAdv 11
いつもお世話になります。
テーブル A B C
フィールド A、B、C 共通
ID
日付(計算)
A::日付 非保存 =B::日付 コンテキスト~ テーブルA
C::日付 非保存 =B::日付 コンテキスト~ テーブルC
リレーション A::ID = B::ID
A::ID = C::ID
テーブルAのレイアウトに B::日付 を入力用に配置し入力すると
A::日付には表示されるのですが、C::日付には表示されません。
また、既存のレコードでも表示されるものと表示されない物もあります。
新規レコード作成したらまず出ませんでした。
B,Cのフィールドに表示するようにするにはどうしたらいいでしょうか。
※用途うんぬんは省かせてもらいたいです。
用途というか、テーブルの意味がわからないから、どうするのが最善かは答えようがないですけど
AとBはリレーションしてますから「Aのレイアウトに B::日付 を入力用に配置」でBのレコードができてA::日付に表示されるでしょうけど、
CはBじゃありませんからBに入れてもCのレコードはできません。
Aと同じフィールドしかないから、Cは必要ないのでは。
他にフィールドがあるなら、「Aのレイアウトにそれを入力用に配置」すればいいでしょう。
AとBのレコードを確定するまではCからBを参照できないので、C::日付は表示されない気がします。
BとCがリレーションされていませんから、
> C::日付 非保存 =B::日付 コンテキスト~ テーブルC
これは無効でしょう。
Offline
BとCのリレーションは間にAが入ってますから、Aに同じIDのレコードがあれば有効です。
Layouterさん チポさん返信ありがとうございます。
BとCをリレーションしても表示ができませんでした。
キーとなるフィールドを置く必要があるということでしょうか。
idだからどのテーブルでもユニークなフィールドだとして、どのテーブルにも同じレコード数になってますか?
リレーションを設定しただけでは関連レコードは作成されないということですよ。
んん、、
> BとCのリレーションは間にAが入ってますから、Aに同じIDのレコードがあれば有効です
確かに計算してくれますが、、
正しい使い方とは言えないでしょう。
Aから見て、Bに関連レコードが無い状態から、
リレーションを使ってBにレコードを作っているんですよね。
Layouterさんが書かれた通り、
そのとき、Cにも関連レコードがない場合、
自動で新規レコードが作られることは有りません。
ということなのかな?
また、条件として、
各テーブルのIDがユニークであることは必須ではないでしょう。
ただ、
Bに同じIDのレコードを作るとおかしなことにはなりますね。
> 用途うんぬんは省かせてもらいたいです
こう書かれていますが、
ファイル構造が正しいのか、
から考え直した方がいいかも。。
Offline
直接接続されてないテーブルを間接的に参照するのは、単純に機能的には何も問題ないはずですが、用途がわからないと
>正しい使い方とは言えない
かどうかはわからない。希望の動作ができてないのだから、そういう意味では明らかに正しくないんでしょうけど。
Cから見てAやBの関連レコードが複数あるとしたら、リレーションのソート順が書いてないから間違った使い方でしょうね。
これもFM的には(最初に作ったレコード)で確定されるから、必ずしも間違いとは言い切れないか...
BとCをリレーションしても表示ができませんでした。
キーとなるフィールドを置く必要があるということでしょうか。
最初の状況のままで「BとCをリレーション」はできない(輪ができるので拒否される)ので、テーブルを複製するか、どこかのリレーションを削除したんでしょうけど
複製ならどっちを使うか厳密にしないといけないし、
A=Cを削除したなら今度はAレイアウトに置いてるCは何?ということになるし
リレーション照合のキーフィールドがレイアウト上にあるかどうかは関係ないです。
が、例題がシンプルすぎて、キー(id)以外は計算フィールド(入力不可)しか無い状態ですから
AのレイアウトでCの関連レコードを作成するには、idに入力するか、スクリプトで作成するか、しかできない。
Layouterさん、チポさん 返信ありがとうございます。
返事が遅くなり申し訳ありません。
あれから試行錯誤して、それぞれを切り離しコピーすることにしました。(使いにくいのは承知ですが)
いろいろとアドバイスをいただきありがとうございました。
Pages: 1
[ Generated in 0.013 seconds, 7 queries executed - Memory usage: 523.83 KiB (Peak: 528.37 KiB) ]