如何根据日期在表单上的另一个文本框中更改状态-Access

时间:2019-01-11 11:22:05

标签: vba date ms-access

我正在建立一个培训数据库。

我想根据另一个文本框中的日期更改表单上的文本框值。

我有以下内容:

Refresher Period - TxtRef
Participation Date - TxtPart
Refresher Date - TxtRefDate
Status - TxtStatus

我希望根据适用于In Date中日期的以下规则,将状态更新为ExpiredExpiringTxtRefDate

  

     

     

值> Now()+ 60“日期”

2 个答案:

答案 0 :(得分:0)

我认为您正在寻找类似的东西?

If TxtRefDate.Value < Now() Then
    TxtStatus.Value = "Expired"
Else:
    If TxtRefDate.Value < Now() + 60 Then
        TxtStatus.Value = "Expiring"
    Else:
        TxtStatus.Value = "In Date"
    End If
End If

答案 1 :(得分:0)

创建一个小的辅助函数:

Public Function Status(ByVal RefDate As Date) As String

    Dim Description As String

    Select Case DateDiff("d", Date, RefDate)
        Case > 60
            Description = "In date"
        Case > 0
            Description = "Expiring"
        Case Else
            Description = "Expired"
    End Select

    Status = Description

End Function

现在,将 txtStatus ControlSource 设置为:

=Status([TxtRefDate])