みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
お世話になります。
最近すこし離れていました。またよろしくお願いします。
以下に質問するようなことはどのようにすれば実現出来るか・・・お知恵を拝借できればと思います。
========================================
テーブルA
フィールド:ID(数字)、名前(テキスト)
テーブルB
フィールド:キー(数字)、日付(日付)、記録(テキスト)
========================================
というような構成にして、
「ID」と「キー」でリレーションを張ります。
レイアウト1は、テーブルAに関連付けてあり、
ポータルで、テーブルBの関連レコードを表示します。
このとき、ポータルとしていくつかのレコードをまとめて表示したいのではなく、
関連レコードを1つずつ表示し、レイアウト1上の、ボタンなどで表示する関連レコードを切り替える
という形にしたいです。
イメージ→
テーブルA側、ID=001、山田さん
テーブルB側、4月1日、記録「〜〜〜」 4月5日、記録「〇△□・・・」、4月12日、記録「★★★・・・」
テーブルA側、ID=002、田中さん
テーブルB側、4月3日、記録「###」 4月8日、記録「&&&・・・」、4月15日、記録「!!!・・・」
(山田さんレコードが表示されている画面で、ボタンを押すと、4月1日、4月5日、4月12日の記録が一つずつ表示される)
考えたのは、テーブルBにもう一つ別のキー(Get(アクティブポータル行)、Count(自己リレーション)など)、テーブルA側にグローバルフィールド
を用意して、リレーションが動的に変化できるようにということを試してみたのですが、
キーを非保存の計算フィールドにすると、リレーションのキーに出来ないので、うまくいきません。
こういう場合のアイデアはなにかないでしょうか?
よろしくお願いいたします。
FMP15 mac
Offline
テーブルA側に、日付を持たせるグローバルフィールドを作っておき、それを含めたリレーションを追加しそのポータルを表示する、または、今のリレーションでそのフィールドでポータルフィルターを使う、ではいかがでしょう。
テーブルBで表示したいのでしたら、目的のポータル行へ移動し、その中で関連レコードへ移動、全レコード表示、レコードを対象外、対象外のみを表示、を行います。
Offline
SHINさん、ありがとうございます。
なるほど確かに、日付をキーにする方法は考えられますね。
しかし、この場合、その日付にヒットするまでは表示されないということになってしまいますよね?
できれは、テーブルAでボタンをポチポチ押したときに、その人に関連するメモが連続で表示されるようにしたいのです。
(それで、なんとか自動的に連番を振るようなフィールドをキーに出来ないか?と考えていた次第です。)
Offline
該当レコードの日付を取得し、値一覧で表示し、選択させればいいでしょうね。
https://www.dropbox.com/s/ocnptuyy2l0y6 … 7.zip?dl=0
Last edited by Shin (2017-10-21 15:09:18)
Offline
スクロールアロー付きの1行ポータルにして、
ポータル内の行へ移動[次の]
で一行下を表示しますね。
Offline
Shinさん、チポさんありがとうございます!
>Shinさん
サンプルファイルありがとうございます。
なるほど。リストで抽出しておけばいいわけですね・・勉強になります。
ボタンを押したときの動作は、リストから順に引っぱってくるようにすればよいですね!
>チポさん
なんと。盲点でした。
これだとリレーションも簡素で分かりやすい・・・
ただ、あれですね。Goで表示すると、慣性スクロールで下まで行けてしまいますね。
ファイルメーカーは、アイデア次第でなんとかなるという、こういう所がホント面白いですよね。
とりあえず今回は、Goで使用することがメインでしたので、Shinさんに教えていただいた方法を取らせてもらおうと思います。
お二人ともありがとうございました。
Offline
[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 512.97 KiB (Peak: 517.88 KiB) ]