みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FMP12
macOS10.7です
テーブル::記録日
::タイトル
::内容
::ステータス
::期初日(グローバル)
::期末日(グローバル)
…
のような進捗状況を管理するデータベースを作成しています。このうち
[ステータス]というフィールドには「保留」「作業中」「完了」…などいくつか値一覧で入力項目を限定しています。
記録日を期間指定してリスト形式で検索結果として表示していますが、
さらに検索後のリストのヘッダ部分に「保留○件」「作業中○件」「完了○件」と表示させたいのですがその方法が分かりません。
自己リレーションやカウント関数を使えばできそうな気もしたのですが理解が及ばず実現できていません。
どなたかご教授いただけませんでしょうか。
グローバルフィールドを作り、
「保留」
と入力。
自己リレーションを
期日の範囲
and
上記のグローバル = ステータス
として、計算フィールド
Count
で「保留」の件数が求められます。
ステータスの値の数分これを繰り返します。
Offline
チポさま、アドバイスありがとうございます。
テーブル::期初日(グローバル)
テーブル::期末日(グローバル)
は例えば
「2013/12/1」から「2013/12/7」とか
「2013/11/1」から「2013/11/30」
というように動的に期間を絞って検索表示させるために作ったフィールドです。レイアウト上のヘッダーに設置しています。
>自己リレーションを
> 期日の範囲
> and
> 上記のグローバル = ステータス
>として、
というあたりの設定がよくわかりませんでした。
どうやればよろしいでしょうか。
>計算フィールド
> Count
>で「保留」の件数が求められます。
これもフィールドをもう一つ作るという理解でよかったでしょうか。
テーブル::期初日(グローバル)
テーブル::期末日(グローバル)
これと
記録日フィールドは日付タイプですよね。
前記の「保留」を入力したグローバルフィールドを「保留_g」とします。
リレーションは
テーブル::期初日 <= テーブル 2::記録日
and
テーブル::期末日 >= テーブル 2::記録日
and
テーブル::保留_g = テーブル 2::ステータス
と定義、
新たに計算フィールドを作り、その計算式
Count (テーブル 2::ステータス )
これで、「保留」がカウントできます。
他のステータスも同様にフィールドを作り、設定します。
そのリレーションの設定では、
リレーションシップグラフでテーブルをコピーして、
コピーした方を照合先にします・・これ必須です!
Offline
ありがとうございます、できました!
今回のようなリレーションは組んだことがなかったので勉強になりました。
仕組みをよく理解したいと思います。
Pages: 1
[ Generated in 0.007 seconds, 10 queries executed - Memory usage: 510.89 KiB (Peak: 515.43 KiB) ]