みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
win10 FM19を使用しています。
[テーブル]基本
IDのフィールドがあります。
[テーブル]イベント
・ID ・イベント名 ・班名 ・参加者 ・役職のフィールドがあります。
基本のテーブルのレイアウト内に、ポータルイベントテーブルを
下記のように表示し入力しています。
--------------------------------------------------
イベント名 班名 参加者 役職
祭1 A班 ○○さん 担当
祭1 A班 ○○さん
祭1 A班 ○○さん 担当
祭1 A班 ○○さん
祭1 A班 ○○さん
祭2 A班 ○○さん。。。。。
。。。。。
。。。。。
--------------------------------------------------
条件としては、同班で1班2名まで5,000円、3名から1人500円、担当は無料となり、
担当はカウントせずイベント名毎のレコードに1、2、3、4、5と番号をふることで、
1番は5000円 2番は0円 3以上は500円と金額を付けることができるかと思ったのですが、
うまくいきませんでした。
--------------------------------------------------
イベント名 班名 参加者 役職
祭1 A班 ○○さん 担当
祭1 A班 ○○さん 1 ※このように番号を付けたいです。
祭1 A班 ○○さん 担当
祭1 A班 ○○さん 2
祭1 A班 ○○さん 3
祭2 A班 ○○さん。。。。。 1
。。。。。。
。。。。。。
--------------------------------------------------
ポータルで番号をふるのは、難しいようでしたので、
[テーブル]イベントで一覧を作成し、イベント名で検索、社名でソートした
場合でも良いかと思っておりましたので、どちらか可能であれば、番号の付け方
を教えて頂けないでしょうか。
宜しくお願いします。
Offline
その金額を計算したいためでしたら、
イベント名 班名で自己リレーションを貼り、Count ( リレーション::参加者 ) - ValueCount ( FilterValues ( List ( リレーション::役職 ; "担当" ) ) ) で、担当以外の人数が求められます。
let (
n = Count ( リレーション::参加者 ) - ValueCount ( FilterValues ( List ( リレーション::役職 ) ; "担当" ) ) ;
Case (
n = 0 ; 0 ;
Max ( 5000 ; 4000 + n * 500 )
)
)
としておけばいいでしょうか。
Last edited by Shin (2021-12-15 13:43:21)
Offline
テーブルがよく分かりません。
基本テーブル
はイベントごとのレコードではないのでしょうか?
イベントテーブル
は1イベント&1参加者ごとに1レコードの
イベント参加者テーブル?
Offline
Shinさん有難うございます。
関数中の引数が足りません。
となってしまいます。
ValueCount ( FilterValues ( List ( リレーション::役職 ; "担当" ) ) ) ;
で出ているようですが、フィールドの指定が間違っているのでしょうか。
その金額を計算したいためでしたら、
イベント名 班名で自己リレーションを貼り、Count ( リレーション::参加者 ) - ValueCount ( FilterValues ( List ( リレーション::役職 ; "担当" ) ) ) で、担当以外の人数が求められます。
let (
n = Count ( リレーション::参加者 ) - ValueCount ( FilterValues ( List ( リレーション::役職 ; "担当" ) ) ) ;
Case (
n = 0 ; 0 ;
Max ( 5000 ; 4000 + n * 500 )
)
)
としておけばいいでしょうか。
Offline
チポさん有難うございます。
説明が解り難くすみません。
基本テーブルは、部署情報を入力しており、部署に紐付いた、イベントを
リレーションでイベントテーブルを表示しています。
イベントテーブルは、1イベント&参加者ごとの参加者を管理する為のテーブルになります。
イベントテーブルには、祭1 祭2 祭3など、違うイベントも入力されることになります。
宜しくお願いいたします。
テーブルがよく分かりません。
基本テーブル
はイベントごとのレコードではないのでしょうか?イベントテーブル
は1イベント&1参加者ごとに1レコードの
イベント参加者テーブル?
Offline
番号の振り方を
イベントテーブルで
シリアル番号など、ユニークな数字のフィールドと
グローバルフィールドを作り”担当”と入力。
自己リレーション
イベント=イベント
班=班
シリアル番号 >= シリアル番号
グローバル担当 ≠ 担当
これで、
Countで番号が振られます。
Offline
チポさん 有難うございます。
理解出来ずにすみません。
教えて頂いた方法で、イベント名が変わった時に
また、1から番号が振れられるようになるでしょうか。
Countで番号が振られるといったところも
詳しく教えて頂けますとありがたいです。
宜しくお願い致します。
番号の振り方を
イベントテーブルで
シリアル番号など、ユニークな数字のフィールドと
グローバルフィールドを作り”担当”と入力。自己リレーション
イベント=イベント
班=班
シリアル番号 >= シリアル番号
グローバル担当 ≠ 担当これで、
Countで番号が振られます。
Offline
シリアル番号 >= シリアル番号
によって、他の条件で一致するレコード(この場合イベントの班)の中でシリアル番号順に自分より若いものだけが関連することになって、そのCountで番号がつくわけですが、
画面上と同じ順に番号付けたいなら、その順のシリアル番号のフィールドでないとだめです。
実際は班の中の順番は関係ないようなので、単にユニークなフィールド(主キーなど)で可能です。
括弧が抜けていました。
ValueCount ( FilterValues ( List ( リレーション::役職 ) ; "担当" ) ) ;
Offline
リレーションが設定できているのなら、
計算フィールドを作り、その計算式
Count ( 自己リレーション::適当なフィールド )
で番号を付けられます。
Offline
Shinさん、チポさん、himadaneeさん
有難うございます。希望どおり出来ました。
また、教えて下さい。有難うございました。
Offline
Pages: 1
[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 546.39 KiB (Peak: 566.93 KiB) ]