みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
ごめんなさい。
そもそも、私の作り方が悪く、リレーションとポータルの使い方が間違っているのかもしれません。
先ず、データベースとしては、2つ必要だと思っています。
その理由は、別々のファイルをインポートするためです。
インポートファイルは、異なるデータが格納されていますが、同じ名称の項目も存在しています。
>インポートするファイル別にテーブルを分けたほうが良いと思っていますが間違っていますでしょうか。
AとCは、見せていません。
あくまでデータベースです。
Bにポータルで表示して"詳細ページへ"というボタンを作成しています。
Dには、Cの複数のレコードがポータルで表示されています。
Bでボタンを押下後、Dに遷移するのですが、その時に関連情報のみフィルタリングして表示したいのです。
旅人 様
ありがとうございます。
現在、私が作成しているのは、多数の人が閲覧するページです。
AテーブルとCテーブルは、データベースとして使用しており、
BテーブルとDテーブルは、それぞれ閲覧用のページとして作成しています。
Bには、Aのデータを、Dには、Cのデータをポータルで反映させています。
AとCは、異なるデータが格納されていますが、同じ名前の項目も含まれています。
Aのデータの詳細がCに格納されています。
よって、Bから"詳細ページへ"というようなボタンを置き、そこからDのページに遷移するイメージです。
分かりづらくすみません。
Shin 様
Dテーブル内でのポータルフィルタ設定は、できております。
その手前で、「Bテーブルの値をDテーブルのフィルタ用フィールドに値を返す」という動作の設定方法が分からなく困っています。
Shin 様
リレーションの設定は、
Aテーブル←→Bテーブル
Cテーブル←→Dテーブル
それぞれ、共通のフィールド設けてリレーションしています。
Shin 様
ご返信ありがとうございます。
説明不足で失礼いたしました。
最終的に行いたいことは、
Dテーブルのポータルを
Bテーブルのポータルの値(Aテーブルの値)で
フィルタリングしたい
ということです。
Dテーブルのポータルには、
Cテーブル(データベース)の値が入っています。
また、Dテーブルには、フィルタリング用のフィールドとして、DD-1フィールド(検索用フィールド)、DD-2フィールド(検索用フィールド)を作成しています。
例として、
_Aテーブル
AA-1フィールド:氏名
AA-2フィールド:性別
AA-3フィールド:本籍
AA-4フィールド:住所
・・・
_Bテーブル
ポータルで
::AA-1フィールド:氏名
::AA-2フィールド:性別
::AA-3フィールド:本籍
::AA-4フィールド:住所
・・・
_Cテーブル
CC-1フィールド:氏名
CC-2フィールド:性別
CC-3フィールド:生年月日
CC-4フィールド:連絡先
・・・
_Dテーブル
DD-1フィールド:氏名(検索用フィールド)
DD-2フィールド:性別(検索用フィールド)
ポータルで
::CC-1フィールド:氏名
::CC-2フィールド:性別
::CC-3フィールド:生年月日
::CC-4フィールド:連絡先
・・・
1.Bテーブルのポータルから"詳細ページへ"というボタンを押す。
2.Dテーブルに移動
3.DテーブルのDD-1フィールド:氏名、DD-2フィールド:性別がBテーブルの::AA-1フィールド:氏名 ::AA-2フィールド:性別と同じ値に変更済み。
4.Dテーブル内のポータルをフィルタリング済み。
Shi様がおっしゃるとおり、基本的には以下の方法になるかと思っていますが、詳細に設定方法をご教授いただけますと幸いです。
Bテーブルのポータルのクリックで、関連レコードへ移動、でAテーブルの該当レコードへ移動。そのデータを使って、Cテーブルのポータル表示をフィルターすればいいかと。
Shin 様
ご返信ありがとうございます。
独自にアカウントをコントロールする機能を作り込む事も可能
上記の設定方法をご教授いただけますでしょうか。
OS:[MAC OS10.9 ]
FileMaker Ver:[14]
はじめまして。
ファイルメーカーを使い始めてまもなく、スクリプトと関数の基本を勉強している者です。
掲題のように、"ポータル内のフォールドの値を元に他のテーブルのフィールドに値を返す方法"を試行錯誤しておりますが、なかなか解決できません。
設定方法をご教授いただけますと幸いです。
用意しているテーブル及びフィールドは、以下のとおりです。
・Aテーブル
AA-1フィールド、AA-2フィールド、AA-3フィールド
・Bテーブル
・Cテーブル
CC-1フィールド、CC-2フィールド、CC-3フィールド
・Dテーブル
DD-1フィールド(検索用フィールド)、DD-2フィールド(検索用フィールド)、DD-3フィールド(検索用フィールド)
上記の構成で、以下のように作成しています。
・BテーブルにポータルでAテーブルの値を取得しています。
・DテーブルにポータルでCテーブルの値を取得しています。
今回、行いたいことは、以下のとおりです。
・Bテーブルのポータルに表示されているデータの横(ポータル内)に"詳細ページへ"というボタンを作成。
・ボタンを押した後、Dテーブルに移動。
このとき、Bテーブルポータル内の値(Aテーブルのデータ)をDテーブルのDD1フィールド~DD3フィールドに各データを反映させる。
・DD1フィールド~DD3フィールドに入った値をキーワードに、Dテーブルポータル内(Cテーブルのデータ)をフィルタリング。
※Dテーブル内のみでは、DD1フィールド~DD3フィールドの値を基に、Dテーブルポータル内(Cテーブルのデータ)をフィルタリングすることは実装できていますので、
Bテーブルポータル内の値(Aテーブルのデータ)をDテーブルのDD1フィールド~DD3フィールドに各データを反映させることで、自動的にフィルタリングされると思っていますが、いかがでしょうか。
どうぞ宜しくお願いいたします。
OS:[ ]
FileMaker Ver:[ ]
OS:[Mac OSX10.9]
FileMaker Ver:[14]
FileMakerを初めてまもなく、スクリプトや関数の基本を勉強している者です。
掲題のように、ファイルメーカーで会員サイトを作成したいと思っています。
そのなかで、これからログインページの作成を行ないます。
未だ着手していませんが、イメージとしては、以下のように考えています。
・一般的な会員サイトと同様に、ログインページ(レコード)を設け、ID・PWを入力してログイン。
・ログイン後、IDに紐づいたページ(レコード)のみを閲覧可能。
・ツールバー等の編集に用いるものは、非表示にする。
・ID・PWの制御は、会員管理画面でIDフィールとPWをフィールを設けて行う。
上記をおこなう設定方法を御教示いただけますと幸いです。
宜しくお願いいたします。
Hiro 様
ごめんなさい。
同じかたちで新しくポータルを作成しました、対応できました。
既存のポータルに何かしらの不具合があったかと思います。
御丁寧に最後迄ご教授いただき感謝申しあげます。
他にもやりたい事があって方法がわからない事がございますので、新しくトピックを掲載させていただきます。
その折には、どうぞ宜しくお願いいたします。
Hiro 様
ありがとうございます。
そのままで試してみましたが、反応しませんでした。
「ポータル内には、検索条件を含まないといけない」等あるのでしょうか。
ご教授いただけますと幸いです。
Hiro 様
詳細にご教授いただきありがとうございます。
いただいた方法で解決いたしました。
大変、恐縮ですが、よろしければもう一点ご教授いただけますと幸いです。
先の質問では、値が一致するものをフィルタリングする設定ですが、以下のような場合はどのように設定すればよろしいでしょうか。
・BB-1フィールド(フィルタ用フィールド)で"TEST"を選択。※先の質問と同じ
・BB-2フィールド(フィルタ用フィールド)で"TEST2"を選択。※先の質問と同じ
結果として、上記値を含むフィールドが存在するAテーブルのレコードで他のフィールドのデータを表示する。
例として、
_Aテーブルのフィールド
フィールド1(氏名)=山田太郎
フィールド2(性別)=男性
フィールド3(住所)=東京都
フィールド4(本籍)=沖縄県
-------
_ポータル内項目(Aテーブルからのリレーション)
・住所
・本籍
------
_Bテーブルの検索条件
・氏名=山田太郎
・性別=男性
-------
_結果
住所=東京都
本籍=沖縄県
以上、宜しくお願いいたします。
OS:[Mac OSX10.9.5]
FileMaker Ver:[14]
FileMakerを初めてまもなく、スクリプトや関数の基本を勉強している者です。
ポータルのフィルタを複数条件で設定する方法を御教示いただけますと幸いです。
現在、作成している状況は、以下のとおりです。
1.他のAテーブルとBテーブルをリレーションで繋ぎ、BテーブルにポータルでAテーブルのデータを反映しています。
2.Bテーブル内に、フィルタリングをかけるためのフィールド(以下、「フィルタ用フィールド」と記載)を複数作成しています。
3.各フィルタ用フィールドには値一覧でカスタム値を設定しています。
以上の状況で、行いたいことを以下に順を追って記載いたします。
1.Bテーブルの各フィルタ用フィールドで"TEST"という項目を選択。
2.Bテーブルのポータル内に、"TEST"と入力されているフィールドのみをフィルタリング。
上記までは、
Case ( Bテーブル::BB-1フィールド = "TEST" ;Aテーブル::AA-1フィールド = "TEST";)
という関数でできました。
他のフィルタ用フィールドも上記同様にCase関数で作成して「andやor」を組合わせれば、複数の条件でフィルタリグ可能ですが、
例えば、
・BB-1フィールド(フィルタ用フィールド)で"TEST"を選択。
・BB-2フィールド(フィルタ用フィールド)で"TEST2"を選択。
・BB-3フィールド(フィルタ用フィールド)で"全て"を選択。
とした場合に結果として、
BB-1フィールドの"TEST"とBB-2フィールドの"TEST2"に該当しているデータのみを表示する
ということを行いたいと思っています。
どうかどなたかお力添えをいただきたくお願いいたします。
Pages: 1
[ Generated in 0.007 seconds, 6 queries executed - Memory usage: 663.97 KiB (Peak: 685.01 KiB) ]