如何比较今天存储在表格中的日期和日期

时间:2017-01-18 09:18:02

标签: database vba ms-access access-vba

我有一个名为TblLogin的表,其中包含3列且只有一个记录:

LoginID  LoginName  firstlogindate
-----------     ------------------   ---------------------
   1       test       10-Jan-17

现在我想显示一条消息如果今天的日期大于[存储在第一行记录中的日期+7天]。

我在以下代码中使用了MS Access的DATEADD功能,在firstlogindate列中记录的日期中添加了7天。

Private Sub Form_Open(Cancel As Integer)
Dim DateAddition As String
DateAddition = "SELECT DateAdd('d',7,[FirstLoginDate]) " & _
        "FROM TblLogin " & _
        "where TblLogin.[LoginName] ='test';"
End Sub

但我不知道如何进行检查以发现今天的日期大于[firstlogindate+7days]

请有人帮帮我吗? 或者有更好的方法来实现上述目标吗?

2 个答案:

答案 0 :(得分:2)

你可以这样做:

Private Sub Form_Open(Cancel As Integer)

    If DateDiff("d", DLookup("[FirstLoginDate]", "TblLogin", "[LoginName] ='test'"), Date) > 7 Then
        MsgBox "You are late.", vbInformation + vbOkOnly, "Loging Date"
    End If

End Sub

答案 1 :(得分:1)

在表单上使用条件格式来执行此操作。我有同样的任务要做,这就是我解决它的方式。

  1. 从表格中创建数据表/表格形式。
  2. 进入表单的设计视图
  3. 选择您的字段(此处 firstlogindate
  4. 点击条件格式
  5. 使用DateDiff(“d”,[firstlogindate],Date())添加新规则并应用所需的格式。
  6. 此方法允许您通过突出显示来发现差异超过7天的记录,但它不会显示MsgBox。