访问VBA文本框可见如果

时间:2014-09-08 22:07:17

标签: vba access-vba ms-access-2010

我有一个简单的访问数据库,可以保存联系人。我的人员表有一个名为“最后联系人”的列,它是表示上次联系日期的日期值。在我的主屏幕上,我有一个显示此人信息的表单,包括“最后联系人”日期。

我需要构建一个警报系统,让用户知道自上次联系日期起超过30天的时间。我已经构建了一个简单的文本框,通过用大红色字母显示文本“30 Days”来实现这一点。此文本框的名称为“notice。”

我的问题来自于此文本框仅在“最后联系人”日期后30天或更长时间内出现。我使用下面的代码:

Sub notice()
Dim dateone As Date
Dim datetwo As Date
Dim days As Integer
Dim notice As Object

dateone = Last_Contact!
datetwo = Date
days = DateDiff("d", dateone, datetwo)
notice = [notice]

If days >= 30 Then
notice.Visible = True
Else
notice.Visible = False
End If
End Sub

当我运行此操作时,出现“溢出”错误。有人可以帮我这个吗?

提前谢谢你。

2 个答案:

答案 0 :(得分:0)

请注意,如果您通过UI创建文本框,就像将文本框拖到表单中一样,则无需声明它。你也可以更具体一点,或者提供你获得溢出的截图吗?

答案 1 :(得分:0)

嗯,你似乎有一个字段,一个sub和一个名为'notice'的变量 - 不是一个好主意。

大概是“dateone = Last_Contact!”是一个错字?

尝试将字段[通知]的来源用作:

=iif(DateDiff("d", dateone, Date())>=30,"30 Days",Null)