Сравните две даты - если совпадение вернется "не обновлено" - PullRequest
0 голосов
/ 16 января 2019

Глядя, чтобы сравнить две даты в текстовых полях, и если они совпадают, чтобы возвратить "Не обновлено"

Ничего, я новичок

Public Function CourseStatus(ByVal RefDate2 As Variant) As String

Dim Description As String   

If Len(RefDate2) > 0 And IsDate(RefDate2) Then

    Select Case DateDiff("d", Date, RefDate2)
        Case Is > 60
            CourseStatus = "In Date"
        Case Is > 0
            CourseStatus = "Expiring"
        Case Is = [ParticipationDate]
            CourseStatus = "Not Refreshed"
        Case Else
            CourseStatus = "Expired"
    End Select        
Else
    CourseStatus = "Please Book"
End If

End Function

Я хочу сравнить [ParticipationDate] & [RefDate2] и, если они совпадают, вернуть "Not Refreshed" как CourseStatus. Мне нужно сделать это перед запуском остальной части кода, чтобы указать «in Date», «Expiring», «Expired», и если ничего из этого не применимо, выведите «Please Book»

например,

ParticipationDate 1/1/19
RefDate2 1/1/19
CourseStatus "Not Refreshed"

Ответы [ 2 ]

0 голосов
/ 16 января 2019

Вы можете использовать что-то вроде этого:

If Len(RefDate2) > 0 And IsDate(RefDate2) Then

    Select Case DateDiff("d", Date, RefDate2)
        Case Is > 60
            CourseStatus = "In Date"
        Case Is > 0
            CourseStatus = "Expiring"
        Case Else
            If DateDiff("d", RefDate2, [ParticipationDate]) = 0 Then
                CourseStatus = "Not Refreshed"
            Else
                CourseStatus = "Expired"
            End If
    End Select        
Else
    CourseStatus = "Please Book"
End If
0 голосов
/ 16 января 2019

Извините, я не очень точно прочитал ваш код. Ваша функция datediff возвращает целочисленное значение, а не дату. Вы должны использовать

Case is 0 

чтобы проверить совпадение даты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...