如何強制在綁定文本框中輸入的Date/Time
值包含日期組件和時間組件(換句話說是一個完整的時間戳)?需要在MS Access文本框中的日期和時間
更新(澄清):列是用戶輸入的時間戳,因此缺少日期或缺失時就沒有意義。
如何強制在綁定文本框中輸入的Date/Time
值包含日期組件和時間組件(換句話說是一個完整的時間戳)?需要在MS Access文本框中的日期和時間
更新(澄清):列是用戶輸入的時間戳,因此缺少日期或缺失時就沒有意義。
如果你真的想這樣做,那麼你可以創建一個使用輸入掩碼,例如:當他們開始鍵入它會堅持所有數字被輸入一旦
00/00/0000\ 00:00:00;0;_
。然後仍然可以按Esc放棄字段編輯。
我不是輸入掩碼的狂熱粉絲,特別是對於日期,因爲它強制用戶使用他們可能不太舒服的格式。
如果您還使用Format屬性,使用Input Masks時要小心;如果它們不匹配,可能會很麻煩。
我還建議,如果您對此數據項有不同的表單,請始終使用相同的掩碼。
文本框綁定到日期/時間字段。日期/時間值總是包括日期和時間組件。如果用戶沒有提供日期組件,則日期將爲第0天(1899年12月30日)。如果用戶不提供時間組件,則時間將是午夜(00:00:00)。
如果1899年12月30日在您需要適應的日期值範圍之外,很容易要求用戶輸入一個(非零)日期。
查看此立即窗口會話是否有助於澄清情況。
? #07:00#
7:00:00 AM
? Format(#07:00#, "yyyy-m-d hh:nn:ss")
1899-12-30 07:00:00
? DateValue(#07:00#) = CDate(0)
True
您可以使用文本框的前更新事件檢查DateValue(Me.TextBoxName) = CDate(0)
如果表達式是True
,顯示通知用戶和Cancel
更新。
對於時間要求...
? #2013-7-31#
7/31/2013
? Format(#2013-7-31#, "yyyy-m-d hh:nn:ss")
2013-7-31 00:00:00
? TimeValue(#2013-7-31#) = CDate(0)
True
的邏輯是類似的時間片,其中併發症午夜可能是可接受的時間值。如果是這樣,我沒有看到你如何區分用戶輸入午夜和午夜,因爲沒有輸入時間值。也許最好的選擇是要求用戶確認午夜時間。
如果您使用當前的日期和時間,您可以禁用該字段並手動編寫'= Now()'。要麼是使用驗證規則。 – Grant
文本框的控制源字段的數據類型是什麼? – HansUp
@HansUp:日期/時間 – Steven