初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2016-04-19 15:05:45

ett
Member

決まった曜日の日付

FM13
WIN7

予定表というテーブルの月曜フィールドにチェックが入っている場合
実施テーブルに今月の月曜日分のレコードを作成したいのですが?

2016年4月であれば、実績テーブルに
2016/4/4
2016/4/11
2016/4/18
2016/4/25
4つのレコードを作りたいです。

Offline

#2 2016-04-19 17:15:33

チポ
Member

Re: 決まった曜日の日付

曜日を
  DayOfWeek関数
が返す数値とします。

指定された曜日のその月の最初の日付は
  Let (  [ $d = Date ( 月 ; 1 ; 年 ) ;
            $w = DayOfWeek ( $d ) ] ;
            $d - $w + 曜日 + 7 * ( $w > 曜日 ) )
で求められます。

あとは、
スクリプトでできますね。

Offline

#3 2016-04-20 09:54:41

Shin
Member

Re: 決まった曜日の日付

https://fm-aid.com/bbs2/viewtopic.php?id=4026
でにた話題がありました。
曜日を、チポさんと同様に設定しておけば、最初の日付は
Div ( Date ( Month ( 日付 ) ; 1 - 曜日 ; Year ( 日付 ) ) ; 7 ) * 7 + 曜日 + 6
で求められます。
レコード数は、
Div ( Date ( Month ( 日付 ) + 1 ; 1 - 曜日 ; Year ( 日付 ) ) ; 7 ) - Div ( Date ( Month ( 日付 ) ; 1 - 曜日 ; Year ( 日付 ) ) ; 7 )
で求められます。

Last edited by Shin (2016-04-20 16:30:06)

Offline

#4 2016-04-21 13:00:00

ett
Member

Re: 決まった曜日の日付

みなさんありがとうございます。

昨日、スクリプトに頭を悩ましながらも、やりたい事ができました。
とりあえずLet関数で日付が出せたので、1週間分の予定や、1ヶ月分の予定を実績レコードに送る事ができました。

グローバルフィールドに年と月を用意して、月曜から日曜までの日付を出して、予定表の曜日とIF関数で真なら実績レコードに新規作成。
変数を準備して、フィールド設定。
次の週は+7で繰り返し。
5週目の+28は月グローバルとIF関数で真なら作成。

スクリプトが長くなりましたが、こんな感じでやりたい事ができました。
もっと、スマートな方法もあるのでしょうが、結構満足しています。
本当にありがとございます。
その月の最初の日付を出す。Div関数でも出るんですね。
自分一人では到底辿り着けない計算式でした。また勉強させてください。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.009 seconds, 9 queries executed - Memory usage: 508.07 KiB (Peak: 518.13 KiB) ]