みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
解決しました。
有り難うございました。
テーブルの構成は?
1テーブルで1IDが1レコードですか?それとも、1ID、1勤務日で1レコードですか。
リレーションの中の設定は?ソートは?
説明不足で申し訳ありません。
テーブルは3つで
入力 (フィールド 雇用開始日、雇用終了日、勤務日、顧客ID、顧客名、個人ID、氏名)
顧客データ(フィールド 顧客ID、顧客名)
会員データ(フィールド 個人ID、氏名)
1IDで1勤務が1レコードになります。
リレーションの設定は
自己リレーションとして
個人ID
AND
顧客ID(抜けてました、すみません)
【異なる顧客IDでの勤務の場合には雇用開始日、雇用終了日を
それぞれ設定する必要があります】
ソートは 勤務日、顧客IDで 降順にしています。
ご教授、よろしくお願いいたします。
ルックアップの変わりに、
入力値の自動化・計算式で
Case ( 勤務日 > 自己リレーション::雇用終了日 ; 勤務日 ; 自己リレーション::雇用開始日 )
でいいでしょう。
ご教授有り難うございます。
早速試してみましたが、
勤務日が雇用終了日を超えていた場合の勤務開始日の変更は出来たのですが、
同じIDの方が雇用開始日~雇用終了日の間に複数回勤務した場合に、何故か
雇用終了日が勤務日の31日後に計算されてします。
雇用終了日の取得は単純に
雇用開始日+31
にしています。
教えて頂けますでしょうか?
FM初心者です。 環境はOS win7 FM10になります。
現在あるフィールドは
雇用開始日(日付) リレーションで「ルックアップ」
雇用終了日(日付)
勤務日(日付)
個人ID(数字)
氏名(テキスト)
になります。
雇用開始日を入力すると雇用終了日が31日後に表示されるようにしています。
ここで質問なのですが、勤務日が雇用終了日を超えていた場合、自動で雇用開始日に勤務日が
表示されるようにしたいのですが、可能でしょうか?
リレーションは 個人IDにてしてあります。
ご指南、よろしくお願いいたします。
チポさん
HIROさん
Shinさん
色々試してみて、Shinさんの方法で出来ました!
未熟者にお付き合い頂きまして、誠に有り難うございました。
また、機会がございましたら、ご教授賜りたくお願いいたします。
Hiroさんへ
質問の仕方が悪くてすみません・・・
実は「勤務実績表」を作成していまして、
例えば「Aさん」が
6/21 10:00~15:00
6/21 15:00~21:00
6/22 10:00~15:00
6/22 15:00~21:00
に勤務したとしまして、
「Aさん」の勤務日数を出したいのですが、
集計ですと4日になってしまいます。
出したい日数は、2日となります。
リレーションは
自己
自己2 にて
「年」「月」「個人ID」になっています。
質問の仕方が悪くて申し訳ありません・・・
ご教授頂けますでしょうか?
チポさんへ
自己リレーションを
個人ID
and
年
and
月
として、
リレーションを組んでいます。
ご教授の通り、「値一覧」で「カウント」を作成し
フィールド指定にて
最初のフィールドの値を使用 → 自己
勤務日を指定して
次のテーブルから関連レコードの値のみ含める → 自己2
にしましたが、カウントされるレコードと、されないレコードが出ます・・・
「値一覧」の設定が悪いと思うのですが・・・
ご面倒ですが、ご教授お願いいたします。
Hiroさん・チポさん
返信有り難うございます。
Hiroさんのご教授の通り、やってみましたが
チポさんのご指摘通り、
全て「1」を繰り返してしまいます。
チポさんの
「このリレーションの動的値一覧を勤務日で作れば、
この値一覧の項目数が勤務日数ですね。」
の「動的値一覧」がよく分からいのですが、
ご教授頂ければ幸いです。
よろしくお願いいたします。
色々有り難うございます。
「個人IDと勤務日とで自己リレーションを組み、
その関連レコード数を求め、そのSign値を得ると良いでしょう。
式は、例えば、 Sign(Count(自己 2::勤務日))」
を参考にして、
自己2 でリレーション「個人ID」「勤務日」を組んで
上記の数式を計算式に入れましたが、
「空白」で表示されてしまいます・・・
ご教授、よろしくお願いいたします。
すみません・・・
説明が悪くて申し訳ありません・・
1勤務1レコードになりますので
勤務日 勤務時間
6/22 10:00~15:00
6/22 16:00~21:00
の場合、レコードは「2」になります。
ご教授、よろしくお願いいたします。
お世話になります。
OS win7 FM10 になります。
日数のカウントについて
フィールドを
勤務日(日付)
個人ID(数字)
勤務時間(数字)
勤務日(集計カウント)
で作成しています。
例えば
個人ID XXXXXの方が
勤務日 勤務時間
6/22 10:00~15:00
6/22 16:00~21:00
で勤務した際に、6/22を「1」として計算結果が
でる様にしたいのですが、結果が「2」になってしまいます。
リレーションを作成する事は理解できるのですが、
「計算」をする場合の関数が分かりません・・・
初心者で分かり易く教えて頂ければ幸いです。
ご面倒かと思いますが、よろしくお願いいたします。
Pages: 1
[ Generated in 0.004 seconds, 6 queries executed - Memory usage: 553.25 KiB (Peak: 574.23 KiB) ]