みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
データベース「番号呼び出し」に、「番号」と「状態」フィールドがあります。
「番号」フィールドは自動で連番が入力されています。
「状態」フィールドにはラジオボタンで 未 1 2 3 4 5 6 済 キャンセル から選択された値が入力されています。
状態ごとに番号の最大値を取得したいのですが、どのようにすれば良いでしょうか。
それらを1つのレイアウトに表示させ、呼び出しのお知らせに使うのが目的です。
FileMaker pro19です。
Offline
> それらを1つのレイアウトに表示させ
同一のテーブルに、でしたらポータルがいいでしょう。
自己リレーション1
状態で照合し、番号の降順指定します。
計算フィールドの計算式
番号 = 自己リレーション1::番号
とすると、
各状態の最大番号のレコードのみに1、他は0となります。
自己リレーション2
適当なフィールドを「X」でリレーションします。
このリレーションのポータルを配置して、
そのフィルタの条件式に
自己リレーション2::計算フィールド =1
とすればいいですね。
Offline
一種のクロス集計だから、「繰り返しフィールド」に展開するのが簡便かな!
>#1『それらを1つのレイアウトに表示させ、呼び出しのお知らせに使うのが目的です。』
だと、「繰り返しフィールド」をグローバルの計算フィールドにするのが良いかな?
g状態一覧[9回]計算フィールドを作り、その式は
GetValue(ValueListItems(Get(ファイル名);"状態値一覧名"); Get(計算式繰り返し位置番号))
g番号一覧[9回]計算フィールドを作り、その式は
ExecuteSQL(" SELECT MAX(""番号"") FROM ""番号呼び出し"" WHERE ""状態""=? "; ""; ""; g状態一覧 & Left(状態[1] & 番号[1]; 0))
【修正履歴】
非繰り返しフィールドに対するオマジナイ [1] を忘れていたので、補足修正しました。
Last edited by Hiro (2021-04-21 19:32:54)
Offline
繰り返しのグローバルフィールドg_status に、それぞれ選択肢を設定しておきます。
入力 status から、繰り返しの計算フィールド Case ( status[1] = g_status ; No[1] ) を作っておきます。
それを個別に集計(最大値)する集計フィールドを作るだけです。
https://www.dropbox.com/s/4lgl2r4vnmrky … 2.zip?dl=0
Offline
皆様ありがとうございます。なんとかできました。FileMakerで作った仕組み第一号でした。
それぞれの方のやり方をもう少し自分なりに深めていきたいです!
Offline
Pages: 1
[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 554.16 KiB (Peak: 581.28 KiB) ]