[サポートFAQ] |
![]() |
日付から締め日を求める |
![]() |
![]() |
帳票に次の締め日を表示しておければ便利な場合があります。マクロを使用すると、今日の日付から次の締め日を自動的に計算して表示することができます。
●20日締めの場合
ここでは、毎月20日締めの場合に画面帳票の文字列表示オブジェクトに次の締め日を表示する場合を例として解説します。
これらの処理、すなわち次の締め日を自動的に計算して表示するには、次のように操作します。
■ 操作手順 ■
1.五郎を起動し、データベースを開く。 2.[帳票]シートの画面帳票を選択し、[設計(E)]をクリックする。 3.画面帳票に文字列表示オブジェクトを追加する。 4.画面帳票のLoadイベントのマクロウィンドウにマクロを記述する。 5.画面帳票を保存し、帳票設計を終了する。 6.[帳票]シートで画面帳票を開く。
!!画面帳票のLoadイベント event Load() default() !!(1) if Day(ThisDate()) > 20 then !!(2) %翌月日 = DateAdd(ThisDate(),1,2) !!(3) %締め日 = Date(Year(%翌月日) ,Month(%翌月日),20) !!(4) else !!(5) %締め日 = Date(Year(ThisDate()),Month(ThisDate()),20) !!(6) end if !!(7) self[Static1].Caption = %締め日 !!(8) end event
(1)default() これは、五郎が動作するために必要な記述です。マクロの内容に関わらず、修正、削除等を行わないでください。
(2),(3),(4),(5),(6),(7) if Day(ThisDate()) > 20 then %翌月日 = DateAdd(ThisDate(),1,2) %締め日 = Date(Year(%翌月日),Month(%翌月日),20) else %締め日 = Date(Year(ThisDate()),Month(ThisDate()),20) end if 今日の日付が20日を過ぎているかどうか調べ、過ぎていれば、変数%翌月日に1月分加算し、変数%締め日に来月の20日を格納します。過ぎていなければ、変数%締め日に今月の20日を格納します。
(8)self[Static1].Caption = %締め日 文字列表示オブジェクトに締め日を表示します。
●末日締めの場合
ここでは、毎月末日締めの場合に画面帳票の文字列表示オブジェクトに次の締め日を表示する場合を例として解説します。
これらの処理、すなわち次の締め日を自動的に計算して表示するには、次のように操作します。
■ 操作手順 ■
1.五郎を起動し、データベースを開く。 2.[帳票]シートの画面帳票を選択し、[設計(E)]をクリックする。 3.画面帳票に文字列表示オブジェクトを追加する。 4.画面帳票のLoadイベントのマクロウィンドウにマクロを記述する。 5.画面帳票を保存し、帳票設計を終了する。 6.[帳票]シートで画面帳票を開く。
!!画面帳票のLoadイベント event Load() default() !!(1) %当月初 = Date(Year(ThisDate()),Month(ThisDate()),1) !!(2) %締め日 = Date(DateAdd(%当月初,1 ,2) - 1) !!(3) self[Static1].Caption = %締め日 !!(4) end event
(1)default() これは、五郎が動作するために必要な記述です。マクロの内容に関わらず、修正、削除等を行わないでください。
(2)%当月初 = Date(Year(ThisDate()),Month(ThisDate()),1) 変数%当月初に今月の1日を格納します。
(3)%締め日 = Date(DateAdd(%当月初,1 ,2) - 1) 変数%締め日に来月の1日引く1日、つまり今月の末日を格納します。
(4)self[Static1].Caption = %締め日 文字列表示オブジェクトに変数%締め日に格納されている日付を表示します。 |