初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2014-10-23 15:25:45

NK
Member

ポータルの絞り込み(フィルタ)をスクリプトでしたい

中級者を目指す初級者です。

Mac 10.9
FMP13Adv

顧客登録レイアウトを作っています。
画面の左側に顧客登録のフィールド   
   右側に顧客IDで自己リレーションしたポータルで顧客名を表示

やりたいことは、
ポータルの周囲に「全」「あ」「か」「さ」「た」・・・というボタンを置き、
「あ」を押したらポータルフィルタをしてあ行の顧客名のみを表示するようにする。

顧客テーブルには、
ID
顧客名
顧客カナ
カナ検索用(顧客カナの一文字目が何行かを計算する計算フィールド)
があります。

あわせて、検索を実行しているボタンの色を変更し、
他のボタンが選択されたら元の色に戻るようにしたいと思います。

どうぞよろしくお願いいたします。

ちなみに、フィールドを作るのではなく、
変数で「カナ検索用」フィールドを使って絞り込みはできないでしょうか?

Last edited by NK (2014-10-23 18:50:05)

Offline

#2 2014-10-23 16:22:04

チポ
Member

Re: ポータルの絞り込み(フィルタ)をスクリプトでしたい

フィルタ用にフィールドを二つ作ります(仮に、F1,F2とします。)

フィルタを
  F1<= 顧客カナ  and  F2 > 顧客カナ

(顧客カナはカナ検索用でも可ですが、カナ検索用を特に必要としません)


ボタンのスクリプト
  フィールド設定[F1 ; GetValue ( Get (スクリプト引数) ; 1 )]
  フィールド設定[F2 ; GetValue ( Get (スクリプト引数) ; 2 )]

このスクリプトを書くボタンに設定し、そのスクリプトパラメータに、
例えば、
「あ」のボタンには
  "あ¶か"

「わ」のボタンには
  "わ¶んんん"

「全」のボタンには
  "あ¶んんん"

の様に設定します。


押したボタンの色は
F1,F2
の値を判定して条件付き書式で変えられますよね

Offline

#3 2014-10-23 18:47:02

NK
Member

Re: ポータルの絞り込み(フィルタ)をスクリプトでしたい

ありがとうございます。
検索用フィールドは不要ですね。

ポータル設定のポータルレコードのフィルタで
"あ"<= 顧客カナ  and  "か" > 顧客カナ
では、あ行にうまく絞り込みができました。

しかし、ボタン設定をしたところ、うまく動きません。
データビューアでみると、値は「ア」「カ」と思った通りに設定されています。

ポータルは、F1等のフィールドが変更されたら、
再評価されてポータルフィルタは動くのでしょうか?

どこか見落としがあるか、いろいろ触ってみましたが分かりません。
アドバイスいただければ助かります。

Offline

#4 2014-10-24 11:06:36

チポ
Member

Re: ポータルの絞り込み(フィルタ)をスクリプトでしたい

ボタンを押して、
F1・F2にその値が入力されますか?

まず、これを確認です。

Offline

#5 2014-10-24 11:26:57

NK
Member

Re: ポータルの絞り込み(フィルタ)をスクリプトでしたい

チポさん、ありがとうございます。

データビューアを見ると、F1・F2には、ボタンで指定した値は入っています。
スクリプトデバッガでステップインで確認しても、
その部分は動いていますが、
フィルタはせずに終わってしまっています。

Offline

#6 2014-10-24 11:50:29

チポ
Member

Re: ポータルの絞り込み(フィルタ)をスクリプトでしたい

例えば、
「あ」のボタンを押すと、
F1に「あ」
F2に「か」
が入力されますよね。

それでフィルターが効かないのでしたら、、
考えられるのは、
  フィルタの設定の間違い
「あ」「か」にブランクなどのゴミが付いている

位しか思いつきません。。

Offline

#7 2014-10-24 16:35:54

NK
Member

Re: ポータルの絞り込み(フィルタ)をスクリプトでしたい

チポさん、ありがとうございます。

その後いろいろ触ってみているのですが、
ポータルの顧客名に ボタン設定で、 関連レコードへ移動を設定してみました。
※そもそも、ポータルを使ってレコードを移動することが目的であったため。

すると、

すべての顧客名がポータルに表示されている状態から、
1)「あ」のボタンを押す
    スクリプトデバッガでステップインしていくと、
    データビューアで、F1に「あ」F2に「か」が設定される
    その後ポータルのフィルタは行われずそのまま
2)ポータルの任意の顧客名をクリックすると、
    スクリプトデバッガですすめると、
    左側のレコードはその顧客データにかわる(意図通り)
    同時にポータルもあ行に絞り込まれる

か行なども同様に動く
※あ¶んんん と設定してある「全」については、なぜかあ行が表示された???

何か想像されることがあれば、ご教示いただければと思います。
どうぞよろしくお願いいたします。

Offline

#8 2014-10-24 17:37:50

チポ
Member

Re: ポータルの絞り込み(フィルタ)をスクリプトでしたい

F1<= 顧客カナ  and  F2 > 顧客カナ

これの
  F1・F2 はポータルを表示しているレイアウトのテーブルです
  顧客カナ はリレーション先のテーブルです

となっていますか?

って、読み返したら

画面の左側に顧客登録のフィールド   
   右側に顧客IDで自己リレーションしたポータルで顧客名を表示

テーブルは一つだけなんですか?

今回の目的は何をしたいのでしょうか?

Offline

#9 2014-10-24 17:56:46

NK
Member

Re: ポータルの絞り込み(フィルタ)をスクリプトでしたい

チポ wrote:

F1<= 顧客カナ  and  F2 > 顧客カナ

これの
  F1・F2 はポータルを表示しているレイアウトのテーブルです
  顧客カナ はリレーション先のテーブルです

となっていますか?

なっています。
顧客マスタ−x−顧客マスタ2
の自己リレーションで、顧客テーブル2の方です。

チポ wrote:

って、読み返したら

画面の左側に顧客登録のフィールド   
   右側に顧客IDで自己リレーションしたポータルで顧客名を表示

テーブルは一つだけなんですか?

今回の目的は何をしたいのでしょうか?

そもそもは、介護事業の利用予定や記録のDBを作っており、
このレイアウトは顧客マスタを登録・編集する目的です。(ベーステーブルは「顧客マスタ」)
閲覧・編集する顧客を選ぶ為に、
顧客マスタの画面の右側にポータルをおき、顧客リストを表示し、
その顧客名をクリックすると、左側の顧客マスタ画面がその顧客のレコードに切り替わるようにしたいです。
顧客リストのポータルは、顧客名の絞り込みのために、あ行か行・・・・でフィルタをすることで、
選びやすくしたいと思っています。

以上がやりたいことです。

郵便番号から住所を入れるための郵便番号テーブルとか、
介護サービスの利用テーブル・利用明細テーブル・・・・等々はありますが、
今回のポータル表示には関係していないのではないかと思います。

Offline

#10 2014-10-24 18:17:03

チポ
Member

Re: ポータルの絞り込み(フィルタ)をスクリプトでしたい

顧客マスタ−x−顧客マスタ2
の自己リレーションで、顧客テーブル2の方です

顧客カナはそれでいいですが、
F1・F2は顧客テーブルですよ。

条件式は
  顧客テーブル::F1<= 顧客テーブル2::顧客カナ
  and
  顧客テーブル::F2 > 顧客テーブル2::顧客カナ
ですね。


目的、了解です。
私が思っていたのとは異なりますが、
やることはレス通りでいいですね。

Offline

#11 2014-10-24 18:54:52

NK
Member

Re: ポータルの絞り込み(フィルタ)をスクリプトでしたい

ありがとうございます。

顧客テーブルに設定しない押しましたが、
挙動は同じでした。

なぜ、顧客名をクリックして関連レコードに移動すると、
リロードしたようにポータルフィルタが動くのはなぜか、
いろいろやってみます。

ありがとうございます。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 548.1 KiB (Peak: 568.64 KiB) ]