mayu
2024/10/13 (日) 15:02:39
fc5d2@6c788
- 申請日から許可日(未来)を求める場合、営業日数は申請日を含んでカウントする
- 申請日から受付日(過去)を求める場合、営業日数は申請日を含まずにカウントする
- 許可日は申請日の2営業日後または3営業日後の日付になる
- 受付日は申請日の1営業日前の日付になる
という解釈で合ってますか
Public Function 受付日(申請日 As Variant, Optional 営業日数 As Long = 1) As Variant
Dim 営業日 As Long
受付日 = 申請日
If IsNull(受付日) Or 営業日数 = 0 Then Exit Function
While 営業日 < Abs(営業日数)
受付日 = 受付日 - 1
Select Case Weekday(受付日)
Case vbMonday To vbFriday
If IsNull(DLookup("祝日名", "T_祝日", "日付=#" & 受付日 & "#")) Then
営業日 = 営業日 + 1
End If
End Select
Wend
End Function
あとは F車庫証明フォームを開く前に、カレントフォームの適切なイベントで
受付日TXTへ 受付日関数の結果を代入すればいいでしょう
申請日TXTは Date()により
ということでしたら、以下3つの記述はいずれも同じ結果になります
Me.受付日TXT.Value = 受付日(Date)
'或いは
Me.受付日TXT.Value = 受付日(Date, 1)
'或いは
Me.受付日TXT.Value = 受付日(Me.申請日TXT.Value)
通報 ...