みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
中級者を目指す初級者です。
Mac 10.9
FMP13Adv
顧客登録レイアウトを作っています。
画面の左側に顧客登録のフィールド
右側に顧客IDで自己リレーションしたポータルで顧客名を表示
やりたいことは、
ポータルの周囲に「全」「あ」「か」「さ」「た」・・・というボタンを置き、
「あ」を押したらポータルフィルタをしてあ行の顧客名のみを表示するようにする。
顧客テーブルには、
ID
顧客名
顧客カナ
カナ検索用(顧客カナの一文字目が何行かを計算する計算フィールド)
があります。
あわせて、検索を実行しているボタンの色を変更し、
他のボタンが選択されたら元の色に戻るようにしたいと思います。
どうぞよろしくお願いいたします。
ちなみに、フィールドを作るのではなく、
変数で「カナ検索用」フィールドを使って絞り込みはできないでしょうか?
Last edited by NK (2014-10-23 18:50:05)
Offline
フィルタ用にフィールドを二つ作ります(仮に、F1,F2とします。)
フィルタを
F1<= 顧客カナ and F2 > 顧客カナ
(顧客カナはカナ検索用でも可ですが、カナ検索用を特に必要としません)
ボタンのスクリプト
フィールド設定[F1 ; GetValue ( Get (スクリプト引数) ; 1 )]
フィールド設定[F2 ; GetValue ( Get (スクリプト引数) ; 2 )]
このスクリプトを書くボタンに設定し、そのスクリプトパラメータに、
例えば、
「あ」のボタンには
"あ¶か"
「わ」のボタンには
"わ¶んんん"
「全」のボタンには
"あ¶んんん"
の様に設定します。
押したボタンの色は
F1,F2
の値を判定して条件付き書式で変えられますよね
Offline
ありがとうございます。
検索用フィールドは不要ですね。
ポータル設定のポータルレコードのフィルタで
"あ"<= 顧客カナ and "か" > 顧客カナ
では、あ行にうまく絞り込みができました。
しかし、ボタン設定をしたところ、うまく動きません。
データビューアでみると、値は「ア」「カ」と思った通りに設定されています。
ポータルは、F1等のフィールドが変更されたら、
再評価されてポータルフィルタは動くのでしょうか?
どこか見落としがあるか、いろいろ触ってみましたが分かりません。
アドバイスいただければ助かります。
Offline
ボタンを押して、
F1・F2にその値が入力されますか?
まず、これを確認です。
Offline
チポさん、ありがとうございます。
データビューアを見ると、F1・F2には、ボタンで指定した値は入っています。
スクリプトデバッガでステップインで確認しても、
その部分は動いていますが、
フィルタはせずに終わってしまっています。
Offline
例えば、
「あ」のボタンを押すと、
F1に「あ」
F2に「か」
が入力されますよね。
それでフィルターが効かないのでしたら、、
考えられるのは、
フィルタの設定の間違い
「あ」「か」にブランクなどのゴミが付いている
位しか思いつきません。。
Offline
チポさん、ありがとうございます。
その後いろいろ触ってみているのですが、
ポータルの顧客名に ボタン設定で、 関連レコードへ移動を設定してみました。
※そもそも、ポータルを使ってレコードを移動することが目的であったため。
すると、
すべての顧客名がポータルに表示されている状態から、
1)「あ」のボタンを押す
スクリプトデバッガでステップインしていくと、
データビューアで、F1に「あ」F2に「か」が設定される
その後ポータルのフィルタは行われずそのまま
2)ポータルの任意の顧客名をクリックすると、
スクリプトデバッガですすめると、
左側のレコードはその顧客データにかわる(意図通り)
同時にポータルもあ行に絞り込まれる
か行なども同様に動く
※あ¶んんん と設定してある「全」については、なぜかあ行が表示された???
何か想像されることがあれば、ご教示いただければと思います。
どうぞよろしくお願いいたします。
Offline
F1<= 顧客カナ and F2 > 顧客カナ
これの
F1・F2 はポータルを表示しているレイアウトのテーブルです
顧客カナ はリレーション先のテーブルです
となっていますか?
って、読み返したら
画面の左側に顧客登録のフィールド
右側に顧客IDで自己リレーションしたポータルで顧客名を表示
テーブルは一つだけなんですか?
今回の目的は何をしたいのでしょうか?
Offline
F1<= 顧客カナ and F2 > 顧客カナ
これの
F1・F2 はポータルを表示しているレイアウトのテーブルです
顧客カナ はリレーション先のテーブルですとなっていますか?
なっています。
顧客マスタ−x−顧客マスタ2
の自己リレーションで、顧客テーブル2の方です。
って、読み返したら
画面の左側に顧客登録のフィールド
右側に顧客IDで自己リレーションしたポータルで顧客名を表示テーブルは一つだけなんですか?
今回の目的は何をしたいのでしょうか?
そもそもは、介護事業の利用予定や記録のDBを作っており、
このレイアウトは顧客マスタを登録・編集する目的です。(ベーステーブルは「顧客マスタ」)
閲覧・編集する顧客を選ぶ為に、
顧客マスタの画面の右側にポータルをおき、顧客リストを表示し、
その顧客名をクリックすると、左側の顧客マスタ画面がその顧客のレコードに切り替わるようにしたいです。
顧客リストのポータルは、顧客名の絞り込みのために、あ行か行・・・・でフィルタをすることで、
選びやすくしたいと思っています。
以上がやりたいことです。
郵便番号から住所を入れるための郵便番号テーブルとか、
介護サービスの利用テーブル・利用明細テーブル・・・・等々はありますが、
今回のポータル表示には関係していないのではないかと思います。
Offline
顧客マスタ−x−顧客マスタ2
の自己リレーションで、顧客テーブル2の方です
顧客カナはそれでいいですが、
F1・F2は顧客テーブルですよ。
条件式は
顧客テーブル::F1<= 顧客テーブル2::顧客カナ
and
顧客テーブル::F2 > 顧客テーブル2::顧客カナ
ですね。
目的、了解です。
私が思っていたのとは異なりますが、
やることはレス通りでいいですね。
Offline
ありがとうございます。
顧客テーブルに設定しない押しましたが、
挙動は同じでした。
なぜ、顧客名をクリックして関連レコードに移動すると、
リロードしたようにポータルフィルタが動くのはなぜか、
いろいろやってみます。
ありがとうございます。
Offline
Pages: 1
[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 548.1 KiB (Peak: 568.64 KiB) ]