過去の桐井戸端BBS (桐ver.9)
20195 該当日の翌月の1日を求めたい JIMMY CLIFF 2003/04/30-11:57
お尋ねします。

「誕生日の次の月初めから、効力が発生する」
例:1月20日→2月1日
  1月30日→2月1日

という日時値の設定をしたいのですが
#月数加算ではうまくいきません
良い方法ご存知ないでしょうか?

JIMMYCLIFF
20196 Re:翌月の1日 悲しげ 2003/04/30-12:24
記事番号20195へのコメント
どもっ、JIMMY CLIFFさん
類似のこととして、健康保険上の年齢は「誕生月の翌月(但し1日生まれの人は誕生月)」に
読み替えて算出しなければならないので、私は次のように取得させています。

 &年齢=#年齢(#cond(#日(&生年月日)=1,&生年月日\
          ,1,#日数加算(#月末(&生年月日),1)),&処理日付)

これはDOS桐で作ったものを継承したものですから、&生年月日や&処理日付は文字列型です。
それと、当然ながら、この変数値はここの前で取得済みってのが前提です。

以上、参考になれば。

20198 Re:翌月の1日 JIMMY CLIFF 2003/04/30-13:24
記事番号20196へのコメント
早速の回答ありがとうござます。
悲しげさんも健康保険関係のお仕事されてるんですね。
こちらは国保です。なんかうれしいですね。

ところで本題です、すみませんが『&』のつく一括処理(?)とゆうのですか
正直にいいまして、わたし勉強不足でやりかたがわかりません。
以前、理解しようとしたのですが途中で挫折してしまいました。
ご回答を機会にもう一度挑戦しようと思います。

ありがとうございました。
JIMMYCLIFF
20199 Re:翌月の1日 悲しげ 2003/04/30-14:30
記事番号20198へのコメント
頭に&が付くのは変数のことです。
変数を使わないで、例えば項目計算式だけでやるとすれば、
変数の部分を項目名に変更することでも目的の結果は得られます。

[年齢]=#年齢(#cond(#日([生年月日])=1,[生年月日]\
   ,1,#日数加算(#月末([生年月日]),1)),[処理日付])

ただし、年齢などは日々刻々と変化するものですから、項目計算式等で取得させる場合は、
毎日「置換」処理をさせる必要があります。
前稿で挙げた変数経由のやり方は、一括処理(正確にはkev=イベント)内で取得させています。
これだと当該患者(被保険者)だけについて処理日付当日の値で取得しているので、
諸々有利と考えたからです。
ただ、フォーム上のテスキトに設定した計算式だと、置換の必要はなさそうです
(でも表示させるだけかも)。

戻る