みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
MAC FMP15AD
ポータルの絞り込み検索についてアドバイスを頂きたいです。
レイアウトの仕様を変えることになり、今まではリスト形式で表の様に表示していたのですが、
今後はフォーム形式にし、左半分をポータルにしてリスト表示して、
右側にポータルのクリックで選んだものの詳細を表示するようになりました。
今のスクリプトですが、
検索モードに切り替え
計算結果を挿入[商品マスタ::種別;グローバル::種別]商品マスタ::メーカー;グローバル::メーカー]
検索実行
というようなスクリプトで、種別、メーカーのグローバルフィールドを設置して上記スクリプトを付け、項目は値一覧で選べるようにしてあります。
計算結果の挿入の前の部分をポータルのテーブルに変えてみたり、ポータルの中に検索用のフィールドを入れてみたりしたのですが、ダメでした。
何か方法があれば教えてください。。。
内容がよく分かりませんが
ポータルフィルターではできない処理なのですか。
Offline
ポータルに表示されるのは、関連レコードをフィルタした結果なので、検索からは影響されません。
表示されるレコードを変えるには関連レコードを変える(リレーション条件)か、ポータルフィルタを変えるしかありません。
旅人様
あらかじめフィルターにかけて表示したいのではなく、必要な時に必要な内容を表示したいです。
通常は全レコード分表示しておき、例えばメーカーがA社、B社、C社 とあった場合に、
A社を選ぶとA社のみのレコードがポータル内に表示されるようにしたいです。
分かりにくくて申し訳ありません。
旅人様
A社を選ぶとA社のみのレコードがポータル内に表示されるようにしたいです。
これこそ 社名によるポータルフィルターだと思いますが
ポータルのリレーションは X でしておいての上です
Last edited by シャチ (2016-12-22 13:19:38)
Offline
tim様
そうなのですか。
検索フィールドを設置して…というやり方ではできないのですね。
ご回答ありがとうございます。
シャチ様
フィールターの設定ですが、そのレイアウトを使用する時にA社やB社等選を選べるのでしょうか?
そのような使い方が出来るのであれば、設定方法を教えて頂きたいです。
ポータル設定→ポータルレコードのフィルタ で設定を入れてしまうと、使うその時にA社・B社・C社を選べないですよね?
そのレイアウトを開いた時点で、ポータルレコードのフィルタに入れている内容で出てきてしまいますよね?
説明より早いかと思って
http://yahoo.jp/box/pKf--N
にサンプルを置きました。
Offline
シャチ様
ありがとうございます!イメージがわいて近づいてきました!
自己リレーションにしているので、同じように作るとポータルの中のデータが書き換わってしまうのですが、どうしたら良いでしょうか…
ポータルに表示しているフィールドを入力できないように
インスペクター設定してください。
Offline
シャチ様
ポータル内ではフィールド入力出来ないようになるのですが、
外の検索の方のフィールドに方に入力すると、今のレコードの内容が書き換わってしまいます…
サンプルにしたように
絞り込み用は、別のグローバルフィールドにしてください。
あとは、運用方法でいろいろあるので
サンプルでいろいろ実験すると面白いかも。
Offline
シャチ様
お作り頂いたサンプルを元にやってみたのですが、どうしてもうまくいきません。。。
今の私の状態を付け加えたものをアップロードしたので、見て頂くことは可能でしょうか。
よろしくお願いします。
今の私の状態を付け加えたものをアップロードしたので、見て頂くことは可能でしょうか。
よろしくお願いします。
期限切れでアクセスできないようです。
Offline
校正済ファイルを返却します。
●「フィルター事例.fmp12」→ http://yahoo.jp/box/GFgb_p
Offline
申し訳ないです
設定完全に間違えてたので、間違ったものを教えてしまいました。
事故リレーションで グローバルフィルターでもので
レコードごとにフィルターするように変更と設定し直したものを
http://yahoo.jp/box/rm5H3l
に置きました。
前のものは削除ました
前の間違いは
計算式で = にしたために条件のもののみがポータルに表示されるという おバカな間違いをしてました。
フィルターなのでそれを非表示にしないといけないのですよね
申し訳ないです。
Last edited by シャチ (2016-12-27 13:43:24)
Offline
目下面倒なファイル作っていて混乱してた
フィルターで キーに該当するもののみにするのと該当するものを非表示にするものの
2種類のフィルターのファイルを V3 として
http://yahoo.jp/box/csmX_I
に置きました。
Offline
Hiro様
シャチ様
お二方ともご丁寧にありがとうございます。
作って頂いたものを拝見しながら、自分の作っているものに実装を試みています。
シャチ様何度もありがとうございます。V3がとても分かりやすいです。
頑張ってみます!
終盤の後出しで申し訳ないです。
検索結果が、数千以内なら以下のようにするのが良いかと思います。
フィールド:グローバル_商品マスタキーリスト
を作成
[グローバル_商品マスタキーリスト]=[商品マスタキー]
でリレーション
検索を実行し、
全レコードの[商品マスタキー]を[グローバル_商品マスタキーリスト]に設定。
検索結果の[商品マスタキー]の値をリスト化するサンプルスクリプト
変数を設定 [$MAX; 値:Get ( 対象レコード数 )]
変数を設定 [$n; 値:1]
Loop
Exit Loop If [$n>$MAX]
変数を設定 [$list; 値:$list & If ( IsEmpty ( $list ) ; ""; ¶ ) & GetNthRecord ( 商品マスタキー ; $n )]
変数を設定 [$n; 値:$n+1]
End Loop
フィールド設定 [グローバル_商品マスタキーリスト; $list]
Offline
シャチ様
ありがとうございました。無事実装できました。
もう少しお伺いしたいのですが…
更に絞り込みたい場合はどうすれば良いでしょうか。
フィルター用社名のように、フィルター用データ というものを作り、
例えばA社でフィルターをするとA1、A2、A3 が表示されますが、その状態から
フィルター用データのプルダウンでA1を選ぶと、A1のみ表示される…といった内容にしたいです。
実際には表示しているフィールドがもう少しあるので、絞り込みのフィルターを増やせたら便利だなぁと思いました。
後出ししてしまって申し訳ありません。
宜しければもう少しお付き合いください。。。
条件フィールドが多くなると計算式が複雑にな理ます。
私は3つまでの組み合わせのフィルターを作りましたが、結構大変な思いをしました。
なれればどうってことないのですが・・・
こうした場合は、フィルターを使うよりも複数のフィールドによるリレーションを使った方が
わかりやすのではないかと、これはあくまでも私の個人的見解です。
理由は色々あって、
フィルターを使用したリレーションは
その結果を使用しようとした時
結構面倒な処理が、現時点で発生しているからです。
目下作っているファイルに実装してます。
まだお披露目できないのが残念ですが、
いずれお披露目できるかと思っています。
Offline
> #19 qb_dpさん
検索結果の対象レコードセットから、そのマスタキーリストを得る方法で、別案を1つ。
集計フィールドの「一覧」新機能で、必要なレコードキーリストを得るだけです。
フィールド設定だけでとっても簡単です。イージー過ぎ??^^;
Last edited by Hiro (2016-12-28 15:55:28)
Offline
qb_dp様
別の方法を教えて下さり、ありがとうございます。
数千までいかないので試してみたいと思ったのですが、知識不足でよく理解できておりません。
こちらをポータルフィルターの計算式に入れれば良いのでしょうか。
シャチ様
一筋縄ではいかないのですね…
リレーションが苦手で、どこをどう繋いで、どんなスクリプトをどこにかければ良いのか分からないのです…
お勉強が足らないですね。
時間を割いて色々作って頂いてありがとうございます。
Hiroさん ありがとうございます。
あ~! お恥ずかしい。1度、新機能 を見ておきながら、使った事が無かったので、記憶の果に飛んでいってました。
絞り込み検索の要望もあるようなので、キーリストでリレーリョンの方が良さそうですね。
集計フィールドの「一覧」新機能で、必要なレコードキーリストで、フィールド:キーリスト を作って、商品キー とリレーションすれば、イケますね。
Offline
[ Generated in 0.009 seconds, 10 queries executed - Memory usage: 571.45 KiB (Peak: 592.36 KiB) ]