根据表单中的时间隐藏和取消隐藏标签



我正在Access VBA中编写一个基于时间隐藏和取消隐藏的代码。

从我的测试来看,它似乎跳过了If并继续进行Else

我要求Visible1在上午07:30至晚上11:59:59期间出现,而Visible2在上午00:00:00至上午07:30:00期间出现。在任何给定的时间,都应该出现Visible1Visible2

Private Sub Form_Current()
Dim Visible1 As Boolean
Dim Visible2 As Boolean
Dim currentTime As String
Dim currentTimestring As String
currentTime = Time()
currentTimestring = Format(currentTime, "hh:mm:tt")
If currentTimestring >= TimeValue("07:30:00") And currentTimestring < TimeValue("00:00:00") Then
Visible2 = True
Visible1 = False
Else
Visible1 = True
Visible2 = False
End If
Me.Label22.Visible = Visible1
Me.Label11.Visible = Visible1
Me.Text10.Visible = Visible1
Me.Label13.Visible = Visible1
Me.Text12.Visible = Visible1
Me.Label23.Visible = Visible2
Me.Label16.Visible = Visible2
Me.Label18.Visible = Visible2
Me.Text15.Visible = Visible2
Me.Text17.Visible = Visible2
End Sub

始终将日期和时间处理为日期,而不是文本、数字和表达式。因此:

Private Sub Form_Current()
Dim Visible1 As Boolean
Dim Visible2 As Boolean
Dim currentTime As Date
currentTime = Time
If currentTime >= TimeSerial(7, 30, 0) Then
Visible1 = True
Visible2 = False
Else
Visible1 = False
Visible2 = True 
End If
Me.Label22.Visible = Visible1
Me.Label11.Visible = Visible1
Me.Text10.Visible = Visible1
Me.Label13.Visible = Visible1
Me.Text12.Visible = Visible1
Me.Label23.Visible = Visible2
Me.Label16.Visible = Visible2
Me.Label18.Visible = Visible2
Me.Text15.Visible = Visible2
Me.Text17.Visible = Visible2
End Sub

最新更新