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

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

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

You are not logged in.

Announcement

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


#1 2018-03-14 13:48:34

maro
Member

空白フィールドについて

検索用レイアウトと、その結果を表示する表示用レイアウトを用意しているのですが、検索用レイアウト上の「決定ボタン」を押すと、表示用レイアウト上に複数配置されている中の「空白フィールド」の件数を「件数フィールド」に算出し、かつ、一覧リストのレイアウトに表示した後、さらにその中から、他の検索条件が適用できるようにしたいのですが、件数は表示されるのに一覧リストには「全部のレコード」が表示されてしまいます。

また、検索用レイアウト上に配置しています複数の検索条件(ボタン)を押すと、正常に動作はするのですが、当然ながら対象は「全部のレコード」からの抽出となってしまいます。

空白フィールドの中身は「日付フィールド」となっているため、別にフィールドを作成し、タイプを「計算」、IsEmpty(空白フィールド)とし数字化したものを、さらにまた別のフィールドを作成し、タイプを「集計」にしたあと、GetSummary(該当テーブル::件数フィールド)に入れ込みましが、上手くいきません。

どなたか、ご教示お願いいたします。

Offline

#2 2018-03-14 13:57:29

Shin
Member

Re: 空白フィールドについて

検索対象を絞り込んでいくのでしたら、検索ではなく、対象レコードの絞り込み を行います。

もう少し、動作の内容をお書きください。

Offline

#3 2018-03-14 14:39:55

Moz
Member

Re: 空白フィールドについて

空白フィールドの中身は「日付フィールド」となっているため、別にフィールドを作成し、タイプを「計算」、IsEmpty(空白フィールド)とし数字化したものを、さらにまた別のフィールドを作成し、タイプを「集計」にしたあと、GetSummary(該当テーブル::件数フィールド)に入れ込みましが、上手くいきません。

各フィールドのタイプを書いてみては?
集計フィールドでは計算式は書けませんし、GetSummary を利用しても表示されていないレコードは集計されません。
この目的では集計フィールドだけで足りるようにも思えます。

Offline

#4 2018-03-14 14:44:47

maro
Member

Re: 空白フィールドについて

Shin様、Moz様

早速のご教示ありがとうございます!!

具体的には、このようにしております。

検索用フィールドの「決定ボタン」は、
・フィールド設定[ 該当テーブル::件数フィールド ; GetSummary ( 該当テーブル::集計した日付フィールド ; 該当テーブル::集計した日付フィールド)]
・全レコードを表示
・レコードのソート[記憶する;ダイアログなし]

表示用フィールドの「検索条件ボタン」は、
・検索モードに切り替え[ ]
・フィールド設定[ それぞれに応じた設定]
・検索実行[ ]
・フィールド設定[該当テーブル::件数フィールド;Get(対象レコード数)]としています。

※すいません。Shin様への回答になります。

Offline

#5 2018-03-14 15:01:17

Shin
Member

Re: 空白フィールドについて

現在、対象としているレコードの中で、日付が空白のレコード数を求めるのですよね。
日付を カウント する集計フィールドを作ります。Get ( 対象レコード数 ) - GetSummary ( 集計フィールド ; 集計フィールド ) という計算フィールドをヘッダにでも置いておけば出ますよ。

表示を絞り込むには、検索実行ではなく、絞り込みを使います。

Offline

#6 2018-03-14 15:22:53

チポ
Member

Re: 空白フィールドについて

集計フィールドのカウントは空白のフィールドを数えません。

統計関数
  Count
も同様ですね。

Offline

#7 2018-03-14 16:50:37

maro
Member

Re: 空白フィールドについて

Shin様、チポ様

アドバイスありがとうございます。
後ほど試してみます。

Moz様、ご指摘ありがとうございます。

現在、台帳(みたいなもの?)を作成していまして、会社の在職・退職者データを、今作成していますソリューション1つで賄おうと思っています。最終的に「表示用レイアウト」を印刷するのですが、印刷するは在職中の者のみとなります。数が多いため、どうしても一括して印刷することになります。しかし、データとしては退職者のデータも必要となるため(調査にも必要)、退職者データは、「検索用レイアウト」にあります「退職年月日」に入力することで、抽出されるようにしたいと思っています。

Offline

#8 2018-03-14 16:57:31

Moz
Member

Re: 空白フィールドについて

もう少しデータベースの構造やレイアウトとテーブル(TO)の関係を書かれたほうが良いかと。

「表示用レイアウト」と「検索用レイアウト」はレイアウトが異なっていてもテーブルが同じではないですか?
もしテーブルが異なっているなら構造を見直したほうが良いと思いますが......

最終的な目的が複数あるならそれぞれを書かれては如何でしょう。

退職者の数を数えて常に表示しておきたいという要求があるとして、検索が上手くいかないこととは別の内容に思えます。

Offline

#9 2018-03-14 17:45:00

maro
Member

Re: 空白フィールドについて

Shin様

すいません。私の質問が間違っておりました。
空白以外のレコード数でした。
申し訳ありません…。

Offline

#10 2018-03-14 18:01:41

Shin
Member

Re: 空白フィールドについて

ならば、単純に日付をカウントする集計フィールドでいいです。

Offline

#11 2018-03-14 20:11:34

maro
Member

Re: 空白フィールドについて

Moz様

ご指摘ありがとうございます。
詳細について説明いたしますと、まずテーブルは1つです。レイアウト構成は、「一覧リスト」「検索用」「表示用」の3つを作成しており、切り替えは各レイアウト下に設けています3つのボタンで行います。
「検索用」レイアウトの中に所属課、役職、生年月日、氏名、住所といった計8つの検索入力のフィールドが存在し、「OK」ボタン(1つのみ)を押すと、全ての条件に合ったレコード数が抽出され、1つだけある「該当数」フィールドにその数が反映されます。また、「一覧リスト」にもレコードが一覧表示されるようになっています。
※全てのフィールドに入力する必要はなく、徐々に絞り込まれていくようになっています。

今回上手くいかなかった部分は、「検索用」レイアウトの中に、さらに「総数」と「リセット」ボタンを用意しており、「総数」ボタンを押すと、レコードの総数が「該当数」フィールドに表示され、「リセット」ボタンを押すと、全てのフィールドが「消去」されるようにしていたのですが(今までは「総数」に「全レコードを表示」にしていたため、「一覧リスト」にも反映されていて問題はありませんでした)、在職者のみを抽出しようと、先述しています関数等を使用し、「該当数」フィールドに抽出数は表示されても、「一覧リスト」には表示されなくなりました。
「該当数」フィールドには、「表示用」フィールドの中にある、「退職年月日」フィールドが空白だった場合、その数を抽出しています。

そこで、今回ご教示いただきたいのは、
① 「検索用」レイアウトにある「総数」ボタンを押すと、「一覧リスト」にその結果が反映されるようには?
② さらに「検索用」レイアウトにある「OK」ボタンを押すと①の結果の中から、検索条件を抽出するには?
の2つとなります。

長文となり、申し訳ありません。また説明が上手く行えているかわりませんが、ご教示いただけないでしょうか?
お手数をおかけしますが、よろしくお願いいたします。

Offline

#12 2018-03-14 20:23:05

maro
Member

Re: 空白フィールドについて

Shin様

ご教示ありがとうございました。

詳細については、Moz様あての#11となります。いつも説明不足で申し訳ありません。

Offline

#13 2018-03-15 09:29:48

Moz
Member

Re: 空白フィールドについて

イマイチスクリプトとレイアウトの関係性が見えてきませんが......

検索条件を指定するためのユーザ操作用の「検索用」レイアウトがあり、
検索の結果を表示する際に「一覧リスト」レイアウトに切り替わるということでしょうか。

1)レコード数の表示に関して
現在表示中のレコードの数は Get ( 対象レコード数 )、全てのレコードの数はGet ( レコード総数 )
これはフィールドを用意せずレイアウト上に {{対象レコード数}} とテキストを置くだけでも表示されます。

2)①の結果というのがよく分かりませんが(①の手順では「総数」ボタンではレコード総数が表示されるだけでは?)

表示中のレコードから追加の検索条件で絞り込む場合は
上のレス#2で Shin さんが書いて下さっているように[対象レコードの絞り込み]を利用します。
※[検索実行]スクリプトステップの代わりに[対象レコードの絞り込み]を使うということです。

追記)
[検索モードに切り替え]と[フィールド設定]を利用した検索スクリプト等で検索を実行するスクリプトステップは3つあります。

[検索実行]全レコードを対象に指定した検索条件で検索を行います。
検索実行前と後でレコードの数は増減いずれもします。

[対象レコードの絞り込み]表示中のレコード(対象レコード)を対象に指定した検索条件で検索を行います。
検索実行前と後でレコードの数は変化無しまたは減ります。(AND検索)

[対象レコードの拡大]表示されていないレコード(対象外レコード)を対象に指定した検索条件で検索を行い表示中のレコードに追加で表示します。
検索実行前と後でレコードの数は変化無しまたは増えます。(OR検索)

Last edited by Moz (2018-03-15 09:38:57)

Offline

#14 2018-03-15 09:32:15

チポ
Member

Re: 空白フィールドについて

よく理解できていませんが、
各検索結果から、
「在職者」
を絞り込めば済むことではないのでしょうか?

方法は既に回答がある通り、
  対象レコードの絞り込み
を使えばいいでしょう。

この結果の対象レコード数が、
質問に書かれている「総数」なのでは。。


老婆心ですが・・
一つのテーブルなら、レイアウトをどう変えようと同じ表示をします。
もちろん、各レイアウトに配置されたフィールドを表示しますが、
対象レコード、ソート状態、現在のレコードに変わりはありません。

ですから、ここでのレイアウトの説明はほとんど意味がないでしょう。

Offline

#15 2018-03-15 22:05:57

maro
Member

Re: 空白フィールドについて

Moz様

今回も丁寧でわかりやすいご説明ありがとうございます。
はい。仰るとおり、「一覧レイアウト」に切り替わり、「在職者」のみリスト表示したいと考えていました。
「レコード総数」であれば、問題なく「一覧レイアウト」の一覧リストにソートされ表示されるのですが、「在職者」のみとなると「該当数」フィールドには抽出数(総数・在職者数・退職者数)は問題なく表示されるのですが、一覧リストには全てのレコードが表示されてしまいます。

チポ様

アドバイスありがとうございます。一つのテーブルでは限界があるのですね。勉強になりました。

皆様方のご教示を参考に、レイアウトの見直しを行いたいと思います。
ありがとうございました。
今後も、よろしくお願いいたします。

Offline

#16 2018-03-16 08:33:23

Moz
Member

Re: 空白フィールドについて

( ꒪⌓꒪)......

解決しているので今更かも知れませんが......

#15 の内容ですが 在職者のみ表示したいのに全レコードが表示されている というのは
在職者を検索できていない(あるいは検索していない)からですよ。

チポさんが書かれていますが同じテーブル(厳密にはTO)に基づくレイアウトは
ウインドウが同じである限り対象レコードは共通です。
「検索用」レイアウトで検索して「一覧リスト」に切り替えても検索結果は維持されます。
※検索が正しくできていないまたは切り替え後に別の検索を行って(全レコードを表示した)いませんか。

レコードの表示状態に関わらず抽出数を表示するロジックは検索とは別にしたほうが良いでしょう。
在職・退職の数が対象レコードで変化してよいなら別ですが。

また、余計なお世話かも知れませんがチポさんのアドバイスの真意は違うと思いますよ。

Offline

#17 2018-03-16 09:27:35

Shin
Member

Re: 空白フィールドについて

おそらく、1テーブル・1レイアウトでも運用できるでしょうね。
こんな形も運用が欲しかった?
https://www.dropbox.com/s/gy9l9ntf7v0k8 … 7.zip?dl=0

Offline

#18 2018-03-16 09:33:39

チポ
Member

Re: 空白フィールドについて

> 一つのテーブルでは限界があるのですね
私の前レスは
そう言ったつもりではありませんよ。

Mozさんの#16の通りです。

Mozさん、フォローありがとうございます-_-


再度ですが、、
検索結果を在籍者のみにすればいいのでは。
と言っているのです。
方法は既に何回も書かれていますね。

Offline

#19 2018-03-17 18:20:50

maro
Member

Re: 空白フィールドについて

Moz様、チポ様

ご指摘ありがとうございます。そういう意味だったのですね。理解不足でした。また、ご心配いただいて大変ありがとうございます。今回も大変勉強になりました。

Shin様、具体的な例を作成していただき、大変参考になりました。ありがとうございます。

今スレでご教示いただいた方法を理解しながら少しずつステップアップしていきたいと思います。

前回に引き続き大変助かりました。今後とも宜しくお願いいたします。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 10 queries executed - Memory usage: 571.03 KiB (Peak: 591.94 KiB) ]