過去の桐井戸端BBS (桐ver.5)
5951 今日は第?週 CTS 2000/05/08-14:07
桐V5でシステムを作成しています。

さっそくですが、今日が当月の第何週に当たるかを判定させる方法がわかりません。

どのようにしたらよいのかお知恵をお貸しください。

例:2000年5月8日(月)→第2週
  2000年5月31日(水)→第5週 ・・・・
5952 Re:今日は第?週 宮城 2000/05/08-15:37
記事番号5951へのコメント
CTSさん、こんにちは。

第1から第5(5がMax.のはず)土曜日日付を&D1、&D2、&D3、&D4、&D5といったような変数に取得。
(変数定義はしておいてください。また、&D5が存在しないときは"9999年"とでもしておいてください。)

年月日と週判定だけの表を作っておき、週判定項目計算式に

#条件選択([年月日]<=&D1,"1W"
      ,([年月日]>&D1 .and [年月日]<=&D2),"2W"
      ,([年月日]>&D2 .and [年月日]<=&D3),"3W"
      ,([年月日]>&D3 .and [年月日]<=&D4),"4W"
      ,([年月日]>&D4 .and [年月日]<=&D5),"5W",1,"6W")

とでもしますか。どうせ一括処理書くならケース制御でやってもいいでしょうけど。

5954 Re:今日は第?週 bonito 2000/05/08-21:13
記事番号5952へのコメント
又出て来てしまいました (^^;

[年月日]文字列型と[週番号]整数型の2つの項目があるとします。
本来[週番号]に直接項目計算式を書けば、それでOKなんですが、
ここでは説明の為に計算項目を2つ余計に作ります。

1.[月始]文字列型   /月始の日付を求める(日を省力すると1日です)
 項目計算式:#文字列(#年([年月日]),4)+"年"+#文字列(#月([年月日]),2)

2.[週開始日]文字列型 /月始以前の日曜日(週の始まり)の日付を求める 
 項目計算式:#日数加算([月始],(#対応番号("日,月,火,水,木,金,土",#曜日([月始]))-1)*-1)

3.[週番号]整数    /週開始日からの経過日数を週分して1を足す
 項目計算式:#INT(#日数([週開始日],[年月日])/7)+1

うまく動いたら、全ての計算式を[週番号]に移して(カット&コピーして)
[月始][週開始日]を削除すれば、出来上がりです。


5959 Re:今日は第?週 binbo 2000/05/09-08:35
記事番号5954へのコメント
 やり方としては、bonitoさんの方法とほとんど同じですが、
 もう少し簡単な計算式は

 #int((#対応番号("月,火,水,木,金,土"\
,#曜日(#str(#年([年月日]))+"/"+#str(#月([年月日]))))\
       + #日([年月日]) - 1)/ 7) + 1

 でよいと思います。

5964 Re:今日は第?週 CTS 2000/05/09-22:16
記事番号5959へのコメント
貴重な、対象方法の提示有り難うございます。

[年月日] は、具体的にどういう型式で数字が入るのでしょうか?

ex:2000/05/09
  平成12年5月9日 ・・・・

変数 &年月日 ではだめなのでしょうか?

再度お教えください。
6012 Re:今日は第?週 binbo 2000/05/11-22:08
記事番号5964へのコメント
>[年月日] は、具体的にどういう型式で数字が入るのでしょうか?
>・・・・・・・・・・・・・
>変数 &年月日 ではだめなのでしょうか?

結論から言いますと、"[年月日]"を"&年月日"に置き換えるだけでよいと思います。

&年月日は組込変数ですから、あらかじめ「環境設定」でその表示形式を
決めている訳ですが、他の変数で扱う場合には日付文字列として
2000年5月11日、2000-05-11、2000/05/11、2000.05.11
のいずれの形式でも成立するはずです。
6022 Re:今日は第?週 CTS 2000/05/12-15:32
記事番号6012へのコメント
親切お教えいただき有り難うございました。

また、わからないことがあったらこの掲示板を
活用させていただきたいと思います。

戻る