Microsoft Access 掲示板

祝日を除いての月初めの出し方について

2 コメント
views
4 フォロー

すみません質問です。
ご教示により下記式により月初めを出しています。

ところが12月分の月初めが2020年1月6日と出したいところ
1月1日と出ます。外の月はちゃんと出るのですが。(ただし
月末の日に祝日はありません。)
宜敷ご教示ください。

T_祝日

日付      祝日
2019年12月30日 年末
2019年12月31日 年末
2020年1月1日  年始
2020年1月2日  年始
2020年1月3日  年始

Public Function 月初(申請日 As Variant) As Variant

    If IsNull(申請日) Then Exit Function

    月初 = DateSerial(Year([申請日]), Month([申請日]) + 1, 1)

    Do
        Select Case Weekday(月初)
        Case vbMonday To vbFriday
            If IsNull(DLookup("祝日名", "T_祝日", "日付=#" & 申請日 & "#")) Then
                Exit Do
            End If
        End Select
        月初 = 月初 + 1
    Loop
End Function

TOKINAITO
作成: 2019/12/25 (水) 15:22:46
通報 ...
1

下記でどうですか。

Public Function 月初(申請日 As Variant) As Variant

    If IsNull(申請日) Then Exit Function

    月初 = DateSerial(Year([申請日]), Month([申請日]) + 1, 1)

    Do
        Select Case Weekday(月初)
        Case vbMonday To vbFriday
            If IsNull(DLookup("祝日名", "T_祝日", "日付=#" & 月初 & "#")) Then
                Exit Do
            End If
        End Select
        月初 = 月初 + 1
    Loop
End Function

"日付=#" & 申請日 & "#""日付=#" & 月初 & "#" に変更しただけです。

動作確認はしてませんので、動作確認は十分にしてください。

2
TOKINAITO 2020/01/16 (木) 09:39:26 bb5c2@5f550

hatena様このたびは有り難うございました。
お礼が遅れたことお詫び申し上げます。