FSJ ガントチャートでお迎え時間(出発時間と到着時間)を日付、担当者別にレコードを作成しています その中で、同時間内に日付・担当者とお迎え時間が被っているところをエラーメッセージなどで抽出したいと考えています 自己リレーションや 以下のような式を試しましたがだめでした Set Variable [ $DateToCheck ; Value: YourTable:😃ateField ] Set Variable [ $TimeStartToCheck ; Value: YourTable::TimeStartField ] Set Variable [ $TimeEndToCheck ; Value: YourTable::TimeEndField ] Set Variable [ $PersonToCheck ; Value: YourTable:😛ersonField ] Set Variable [ $RecordID ; Value: YourTable::RecordID ] Go to Record/Request/Page [ First ] Loop Exit Loop If [ Get ( FoundCount ) = 0 ] If [ not IsEmpty ( $DateToCheck ) and not IsEmpty ( $TimeStartToCheck ) and not IsEmpty ( $TimeEndToCheck ) and not IsEmpty ( $PersonToCheck ) ] Set Field [ YourTable::gTempField ; $DateToCheck & "|" & $TimeStartToCheck & "|" & $TimeEndToCheck & "|" & $PersonToCheck ] Set Variable [ $foundDuplicates ; Value: PatternCount ( YourTable::gTempField ; YourTable::gTempField ) > 1 ] If [ $foundDuplicates ] Show Custom Dialog [ Title: "Error"; Message: "Duplicate record"; Buttons: "OK" ] Delete Record/Request End If End If Go to Record/Request/Page [ Next; Exit after last ] End Loop ご教授お願いします
Shin 旧掲示板の 値一覧による選択制限:::終了時間を指定時間内に が参考になると思います。 前回のスレッドで作った繰り返しフィールドを、繰り返し毎で合計する集計フィールドを作り、人と日で小計します。その結果が1を超えていると重複です。その集計繰り返しフィールドの最大値を監視すればいいです。 それと、 FSJ Delete Record/Request Go to Record/Request/Page [ Next; Exit after last ] は、レコードが削除されると、次のレコードがアクティブになり、さらに次のレコードへ移動すると1レコードの評価が飛ぶことになります。
himagine FSJ お迎え時間(出発時間と到着時間) これって単純に2つの時間の幅で被らなければいいようなものなんでしょうか? 到着から次の出発までに一定の作業(待ち)時間が必要ってことはないですか? スクリプトの方は、どういう考え方なのかわかりませんね。 PatternCount ( YourTable::gTempField ; YourTable::gTempField ) 全く同じものでPatternCountしてるので、1しか返らないでしょう。
FSJ himagine わかりづらくてすみません 待ち時間は考慮していないです リハビリ施設での配車管理と実務時間の管理などを作成するのにあたってアドバイスが欲しかっただけで 細かく中身の説明を省いてしまいました。 スクリプトはChat GPTで出したものでした。安易ですみません