我很難在表單視圖中做軍事時間或短時間。我發現了一個錯誤,用戶輸入 15:83 是不允許的,因為分鐘超過 59,小時超過 23。但是,我不確定如何為類似的東西創建表單驗證和我似乎無法在網上找到任何關于這種格式的檔案。
uj5u.com熱心網友回復:
在表單上的文本框控制元件的驗證規則屬性中輸入此運算式
=右([Text6],2)<60 或左([Text6],2)<24
我假設控制元件的名稱是 Text6
uj5u.com熱心網友回復:
我似乎無法在網上找到任何關于這種格式的檔案。
那是因為它很困難并且需要相當多的代碼,在這里發布太多了。但是,例如,要更正無效輸入:
Private Sub Form_Error(DataErr As Integer, Response As Integer)
Const TimeHourMaximum As Integer = 24
Const TimeHourDefault As Integer = 20
Const TimeMinuteTenMax As Integer = 5
Dim ctl As Control
Dim Text As String
Dim SelStart As Integer
On Error Resume Next
Set ctl = Screen.ActiveControl
Select Case ctl.Name
Case "Logon"
Text = ctl.Text
SelStart = ctl.SelStart
If Not IsDate(Text) Then
DoCmd.Beep
If Val(Left(Text, 2)) > TimeHourMaximum Then
Mid(Text, 1) = CStr(TimeHourDefault)
ElseIf Len(Text) > 3 Then
' Length of Text is larger than two hour digits and the kolon.
Mid(Text, 1 3) = CStr(TimeMinuteTenMax)
End If
End If
ctl.Text = Text
ctl.SelStart = SelStart
ctl.SelLength = 1
Response = acDataErrContinue
End Select
Set ctl = Nothing
End Sub
完整的代碼、檔案和演示應用程式與我VBA.TimeEntry在 GitHub 上的專案一起發布:

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/429072.html
