みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつもお世話になっております。今回も皆さまのお知恵をお借りしたく投稿しました。
環境はWin7、Ver13です。
メインシステムである「ファイルA」と関連ファイルである「ファイルB」があります。
ファイルAからファイルBへIDでリレーションを張り、ファイルAにポータルを5行表示しています。
ポータルを利用して、必要に応じファイルBの新規レコードを作成していますが、どのIDでも新規レコードを作成した時のみフラグを立てたいのですが構想を形にできません。
(簡単に表現すると、ファイルBに新たなIDの新規レコードが作成された時のみフラグを立てたい・・・ということです)
良い方法があればご教示ください。
以上 よろしくお願いいたします。
IDを下げるタイミングは?
おそらく、関連側にレコード作成のタイムスタンンプを持たせて、そのmaxを見れば良いでしょう。
Offline
Shinさま
ご教示ありがとうございます。
不勉強なため、ご教示の意味が解りかねます。
こんな返信しかできず、大変申し訳ありません。
引き続きご教示いただければ幸いです。
追記とお詫びです。
「どのIDでも新規レコードを作成した時のみフラグを立てたい」とは、「どのIDでも、初めてレコードを作成した場合にのみフラグを立てたい」・・・という意です。
私の表現が誤っていました。
Shinさまをはじめ、皆さまにご迷惑をおかけしました。
ファイルBでIDごとの最初のレコードにフラグ
ということ?
として、
そのフラグはいつまで立っていればいいのでしょう?
Offline
チポさま
ありがとうございます。
おっしゃるとおり、対象はファイルBで、IDごとに最初のレコードにのみにフラグを立てたい・・・です。
フラグはずっと立っていることが前提です。
引き続きご教示いただければ幸いです。
よろしくお願いいたします。
ファイルBでIDで自己リレーションして、
レコードID = 自己リレーション::レコードID
となるレコードがそのIDの最初のレコードです。
Offline
チポさま
お世話になっております。
私の説明が下手で申し訳ありません。
申し上げにくいのですが、ご教示の手法での解決は困難なようです。
ファイルBに新たなIDで最初のレコードを作成された場合にのみ自動でフラグを立てたいと考えております。
最初のレコード作成の場合のみ → フラグ作成
同じIDで2つ目以上のレコード作成 → フラグは不要
というイメージです。
引き続きご教示いただければ幸いです。
できるはずですよ
> レコードID = 自己リレーション::レコードID
Get(レコードID)
という計算フィールドを作ります。
Offline
>ファイルBでIDで自己リレーションして
これをIDではなくレコードID でリレーションしているのでは?
チポさま
大変お世話になっており感謝いたします。
ご教示のごとくリレーションを張り、Get(レコードID)という計算フィールドを作りました。
その後、ファイルAのポータルからファイルBに対して新規レコードを3つ作成してみました。
その結果、
最初のGet(レコードID)の返り値は、2779
次は、2780
次は、2781
となりました。
これをどう料理すればよいのか途方にくれています。
引き続きお付き合いくだされば幸いです。
ファイルBで、
AとリレーションしているIDフィールドで自己リレーションします。
フラグフィールドの計算式
レコードID = 自己リレーション::レコードID
とすると、
最初のレコードのみ1が、
他には0が入力されます。
これを計算フィールドとすると索引非保存となりますので、
検索等に使われるともたつく原因になります。
それで困るのでしたら、入力値の自動化、スクリプトトリガ
等で入力することもできます。
Offline
フラグを、関連レコード作成が許可されているポータル内に表示する場合も
あるかも知れない?
チポさま
お世話になっております。
ご教示のごとく検証作業を進めておりますが、未だ実現できていません。
私がやったことを以下に記します。
1)ファイルB側にAとリレーションしているIDフィールドで自己リレーションを張りました。
2)ファイルBにレコードIDという数字フィールドを作成しました。
3)ファイルBにフラグという計算フィールドを作成し、非保存、レコードID=自己リレーションレコードIDとしました。
4)ファイルAに山田太郎という名称の新規レコードを作成し、ポータルを利用して(ファイルA側からファイルB側に)新規レコードを3つ作成しました。
5)ファイルBに作成された山田太郎の3つのレコード内のレコードIDフィールドは空白のまま、フラグフィールドも空白のまま
以上です。
どこが悪いのでしょうか?
出来の悪い生徒で申し訳ありません。悪い箇所を指摘していただければ幸いです。
以上、よろしくお願いいたします。
2)ファイルBにレコードIDという数字フィールドを作成しました。
これは計算フィールドとして、その計算式
Get(レコードID)
とします。
3)ファイルBにフラグという計算フィールドを作成し、非保存、レコードID=自己リレーションレコードIDとしました。
レコードID = 自己リレーション::レコードID
↑
リレーション先のテーブル名ですよ
Offline
チポさま
できました!!!
構想どおりの動きをします!
理解に乏しいバカ生徒にお付き合いくださり、深謝申し上げます。
本当に本当にありがとうございました。
モルト
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 579.62 KiB (Peak: 596.16 KiB) ]