• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:if分で複数条件の記述方法を教えてください。)

VBAを使った締日と請求日の操作方法

このQ&Aのポイント
  • VBAを使ってAccessの検索フォームに締日入力用のコンボボックスと請求日の日付入力ボックスを配置しました。
  • 締日が月末の場合、コンボボックスから31を選択すると請求日の日付入力ボックスに前月の月末が表示され、それ以外の締日を選択すると、前月のその締日が表示されるようにVBAを作成しました。
  • さらに、今月の締日かどうかを確認するメッセージボックスを表示し、今月なら今月の請求日付、違う場合は先月の請求日付を日付入力ボックスに表示する処理も追加しました。

質問者が選んだベストアンサー

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1727/2597)
回答No.2

示されているコードでいいのではないでしょうか。 rc使わなくて直接 If MsgBox("今月の締日ですか?", vbYesNo) = vbYes Then でもいけます。

shibushijuko
質問者

お礼

ご回答ありがとうございます。 ご指示通り参考にしながら、下記VBAを作成して思う通りできました。ありがとうございました。 Private Sub close1_AfterUpdate() Dim i As Date, j As Date, k As Date, l As Date i = DateSerial(Year(Date), Month(Date) - 1, [close1]) '先月の31日以外の締日から請求日付を取得 j = DateSerial(Year(Date), Month(Date), 0) '先月の31日の締日から請求日付を取得 k = DateSerial(Year(Date), Month(Date), [close1]) '今月の31日以外の締日から請求日付を取得 l = DateSerial(Year(Date), Month(Date) + 1, 0) '今月の31日の締日から請求日付を取得 If MsgBox("今月の締日ですか?", vbYesNo) = vbYes Then If (Me!close1) <> 31 Then Me!day1 = k Else Me!day1 = l End If ElseIf (Me!close1) <> 31 Then Me!day1 = i Else Me!day1 = j End If End Sub

その他の回答 (1)

  • unokwave
  • ベストアンサー率58% (966/1654)
回答No.1

And/Or/Xorなどと括弧を使って論理条件を組み合わせられます。 https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/operator-summary if a = b And (c > d Or c < e ) Then

shibushijuko
質問者

お礼

ご回答ありがとうございます。無事解決しました。

関連するQ&A