2012-03-06 64 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