みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
環境
WIN7
FMpro16
いつも拝見させて頂いております。
勤務表を作成中です。
現在1人1日1レコードをリスト形式にて繰り返しフィールドにルックアップしています。
前回質問させていただきましたが、21日から翌月の20日までの勤務形態で表示しております。
今回は調整する際に7連勤(間の半休は連勤とカウント)以上の場合条件付き書式で色を付けたいと思います。
宜しくお願いします。
月またぎのチェックも必須でしょうから、元のテーブルでチェックしておいて、それを反映させた方がいいでしょうね。
サンプルのような構造で、連勤数がカウントできます。
https://www.dropbox.com/s/xvr7ywpfjkvbw … 7.zip?dl=0
Offline
SHINさんへ
サンプル作成ありがとうございます。
サンプルについて質問させて下さい。
構造はサンプルをみて理解できました。
ただ、私にはcount_preとcount_postの計算式が理解できなかったです。
このサンプルはレコードが無いところからの無いところまでの数をカウントしていると思うのですが、
現在作っている勤務表が”休”にもレコードが存在する為、計算式をどう変えたらいいでしょうか?
追加設定を全く必要としない、単独計算式だけによる簡便法の提案です。
テーブル構成の詳細が分からないですが、適当に考察して作式......。
そもそも不要な非出勤日(休日)のレコード(データ)をわざわざ
作っての非正規化・非効率的なDB運用法は お勧めできませんが、
一応 それを前提に式(論理式)は立ててあります。
//////////////////////////////
7
=
ExecuteSQL(
"
SELECT COUNT(*)
FROM ""マスタテーブル名""
WHERE ""名前""=? AND ""日付""<=? AND ""日付"">? AND ""出欠""<>'休'
"
; ""
; ""
; 自己テーブル名::名前キー[1]
; 自己テーブル名::日付キー配列
; 自己テーブル名::日付キー配列 - 7
)
//////////////////////////////
Last edited by Hiro (2018-08-23 15:22:21)
Offline
このサンプルはレコードが無いところからの無いところまでの数をカウントしていると思うのですが、
現在作っている勤務表が”休”にもレコードが存在する為、計算式をどう変えたらいいでしょうか?
計算は、再帰を行わないとできませんので、自分で自分を呼び出す再帰式を使っています。
レコードの定義については先に書いていただきたかったですが、レコードの中に、勤務、というフラグフィールドを作り、リレーションでそれも条件にすれとか、勤務の日だけの日付リストを使う、などとすればいいですよ。
Last edited by Shin (2018-08-23 15:16:13)
Offline
HIROさんへ
ありがとうございます。
休みの日のレコードは有休、夏休などの休みの種類を記録したいため必要でした。
ExecuteSQLは今は全くわからないので勉強させて頂きます。
SHINさんへ
ありがとうございます。
出勤フラグで試してみます。
ExecuteSQL関数式による一発解法が、どうみても最適最善な楽勝案件です。
>#6『勉強させて頂きます』なら、絶対絶好 ★今でしょう!!★
参考:SELECT構文(検索クエリー)だけだから、そんなに恐れる程の内容でも量でもありません (^^)
・「ExecuteSQL」関数ヘルプ
→ https://fmhelp.filemaker.com/help/16/fm … ect_header
・「SQL リファレンスガイド」pdfマニュアル 頁8 SELECT文ガイド(だけでOK)
→ https://fmhelp.filemaker.com/docs/16/ja … df?#page=8
テーブル構成など もっと具体的な詳細説明を頂けたら、実装サンプルも可能なのですが、.....残念!
Last edited by Hiro (2018-08-24 21:48:42)
Offline
SQL って、ちょっと勉強したくらいで、Hiro さんのレベルになれませんよ。Hiroさんは、超上級者ですので。
かなりのレベルに達しないと、思った処理を、上の様な作式でけませんは。SQLなら簡単そう、と思ったけど、思いつかんかった
Last edited by Shin (2018-08-24 15:43:17)
Offline
勤務表として一覧できる形で、7連勤以上を識別できるかたちにして見ました。とりあえずは、見えるところまで
https://www.dropbox.com/s/xvr7ywpfjkvbw … 7.zip?dl=0
この一覧から編集できるような機能も付け加えることができます。
繰り返しフィールドへの入力のままでは、月またぎの7連勤の識別は、月末処理の不規則のために超面倒な仕組が必要で、1手間では作り切れなかったです。13手間作るか、4手間作って分岐しておけばいいのですが。(Hiroさんならできるのかな)
それと、できればメンバー登録してください。過去のスレッドが探しやすくなります。
一覧から内容を編集する機能を追加しています。サンプルを更新しています。
Last edited by Shin (2018-08-25 12:29:17)
Offline
Pages: 1
[ Generated in 0.007 seconds, 7 queries executed - Memory usage: 522.08 KiB (Peak: 526.98 KiB) ]