2012-03-06 158 views
0

我想在Access-VBA中编写一个非常简单的代码。我想写一个按钮标题的时间,但我的代码不起作用。计时器事件不会触发

Private Sub Form_Timer() 
Me.TimerInterval = 0 
Befehl94.Caption = Time 
End Sub 

你能帮我吗?

回答

1

您需要在窗体的属性菜单上设置TimerInterval而不是“Form_Timer”事件,因为这是基于窗体属性中输入的值触发的。

的值是毫秒所以1000将导致定时器,每1秒跑完,“时间”功能也是不正确的,你的代码会更喜欢这样的:

Private Sub Form_Timer() 

    Befehl94.Caption = TimeSerial(Hour(Now()), Minute(Now()), Second(Now())) 

End Sub 

使用TimeSerial的会给你只是时间,而它自己的“现在()”会给你TimeDate,你可以使用“格式”命令来代替,但我更喜欢TimeSerial

+0

谢谢,我做到了。我把timeinterval设置为1000 nad写你的代码,但它不工作:( – Baper 2012-03-06 10:05:40

+0

另一件事,我有当我把这个代码放在我的子表单上作为我的子表单上的一个按钮时,它是一个seub表单和主表单,它的功能非常正确,但对于主表单和一个按钮却不起作用,你知道为什么吗? – Baper 2012-03-06 10:16:18

+0

@ iav-babak很难说,理论上应该是相同的,尝试通过表单参考按钮,例如“Forms!Mainform!ButtonName.Caption” – 2012-03-06 10:45:43

1

您需要大于零的间隔。将其设置为零将禁用定时器。您也可以使用Enabled属性启动和停止计时器。

另外(更贴切),你并不需要一个定时器达到你想要什么,你可以简单的写:

Befehl94.Caption= Now() 

要显示的日期和时间。调查Format函数根据需要格式化日期/时间。

+0

thnk你的答案,老实说我想测试计时器功能的另一个目的 – Baper 2012-03-06 10:03:29