2011-09-16 69 views
0

我希望我的用戶只選擇訪問2007年的日期時間。我發現有一個內置的日期控件,但無法找到時間控制。有誰知道是否有辦法進行時間選擇控制?時間選擇器訪問2007

回答

2

對於輸入時間值,專門的控件不會爲用戶提供更多(如果有的話)方便性,而不是直接將時間值輸入到綁定到日期/時間字段IMO的文本框中。

下午1點30分,她可以輸入1點30分,並且會被正確接受。如果她更喜歡,她也可以在13點30分進入。

如果您的擔心是阻止用戶輸入(非零)日期值以及時間,則可以丟棄文本框的更新事件後的日期部分。當用戶輸入的值的日期部分被丟棄時,用戶往往會很快趕上。

Private Sub txtTimeOnly_AfterUpdate() 
    Me.txtTimeOnly = TimeValue(Me.txtTimeOnly) 
End Sub 

實際上,它會將日期部分轉換爲VBA的日零,#1899/12/30#。但是,這是您希望存儲「僅限時間」值的最佳選擇,因爲日期\時間值始終包含VBA和數據庫字段類型中的日期。

如果您想了解更多的保證現場將存儲時間值(以#1899年/ 12/30#的日期),你可以設置在桌子上驗證規則:

IsNull([time_only_field]) Or DateValue([time_only_field])=CDate("1899/12/30") 

如果你還是覺得你需要一個時間選擇器控制,搜索網絡,看看是否有人創建了一個。我會避免使用ActiveX控件,因爲它們會造成版本問題。

或者我想你可以用組合框創建你自己的自定義時間選擇器:一個小時;一分鐘;如果需要的話,一秒鐘。在更新事件之後的組合中,從這些部分構建您的時間值並將它們存儲在綁定到time_only_field的控件中。該控件不需要用戶編輯,但使其可見將允許他們查看完成的值。