Access VBA Check Date time, если больше, чем сегодня, 3:00 PM, то vb вопрос об ошибке - PullRequest
0 голосов
/ 30 октября 2019

У меня есть форма запроса с кнопкой отправки. При нажатии я хотел бы получить доступ к проверке даты отправки, чтобы увидеть, не превышает ли она сегодня 15:00. Если да, то появится окно с сообщением для изменения запрошенной даты и повторной отправки.

Это то, что я пробовал, но с ошибками.

Пожалуйста, помогите, если возможно

Dim mDate As Date
mDate = DateValue(Me.tblEntered)
IIf (mDate > "3:00 pm")
    If MsgBox("You are submitting a request after the 3:00 PM cutoff time. " & Chr(13) & _
    "You should change your request to the next day.  Do you want to change your request date?", vbYesNo + vbQuestion + vbDefaultButton2) = vbNo Then
    DoCmd.Save
Else
    MsgBox "Please make changes and resubmit"
End If

Ответы [ 2 ]

1 голос
/ 30 октября 2019

Вы должны использовать DateDiff для этого:

Dim mDate As Date

' If tblEntered is text:
mDate = CDate(Me!tblEntered.Value)
' If tblEntered is DateTime:
mDate = Me!tblEntered.Value

If DateDiff("n", DateAdd("h", 15, Date), mDate) > 0 Then
    If MsgBox("You are submitting a request after the 3:00 PM cutoff time. " & vbCrLf & _
        "You should change your request to the next day.  Do you want to change your request date?", vbYesNo + vbQuestion + vbDefaultButton2) = vbNo Then
    DoCmd.Save
Else
    MsgBox "Please make changes and resubmit."
End If
0 голосов
/ 30 октября 2019

В вашем коде есть несколько ошибок (пропущено «End If», Использование «IIf» вместо «If», Проверка вашей даты да / нет ответа)

Я не знаю формат/ содержание вашего источника: Me.tblEntered это просто дата или дата и время? Если включает в себя время, то измените мой "Дата + # 3: 00: 00 вечера #"

Dim mDate As Date
mDate = DateValue(Me.tblEntered)

If (mDate > Date + #3:00:00 PM#) Then       ' Today at 3PM
    If MsgBox("You are submitting a request after the 3:00 PM cutoff time. " & Chr(13) & _
        "You should change your request to the next day.  Do you want to change your request date?", vbYesNo + vbQuestion + vbDefaultButton2) = vbNo Then
        DoCmd.Save
    Else
        MsgBox "Please make changes and resubmit"
    End If
End If
...