Ms access 访问VBA文本框在以下情况下可见:

Ms access 访问VBA文本框在以下情况下可见:,ms-access,vba,ms-access-2010,Ms Access,Vba,Ms Access 2010,我有一个简单的access数据库,可以保存联系人。My people表有一个名为“Last Contact”的列,该列是一个日期值,表示上次联系的日期。在我的主屏幕上,我有一个表格,显示该人的信息,包括“上次联系”日期 我需要建立一个警报系统,让用户知道从上次联系日期到现在已经超过30天了。我构建了一个简单的文本框,通过以红色大字显示文本“30天”来实现这一点。此文本框的名称为“通知” 我的问题是,这个文本框只在“上次联系”日期后30天或更长时间才会出现。我使用的代码如下: Sub notice

我有一个简单的access数据库,可以保存联系人。My people表有一个名为“Last Contact”的列,该列是一个日期值,表示上次联系的日期。在我的主屏幕上,我有一个表格,显示该人的信息,包括“上次联系”日期

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

我的问题是,这个文本框只在“上次联系”日期后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
当我运行这个程序时,我得到一个“溢出”错误。有人能帮我吗


先谢谢你

请注意,如果通过UI将文本框设置为类似于将文本框拖动到表单,则无需声明它。另外,您可以更具体一点,或者提供一个从哪里获得溢出的屏幕截图吗?

Hmmm,您似乎有一个字段、一个子项和一个变量,都命名为“notice”——这不是一个好主意

“dateone=Last_Contact!”这句话大概是个打字错误吧

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

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

哪一行导致溢出错误?如果将通知设置为文本框而不是对象,会发生什么情况?我还将考虑将您的VBA代码>通知>代码>作为文本框名称以外的东西,以避免混淆,以及代码的潜在问题。