У меня есть пользовательская форма, в которой есть два текстовых поля, в которых пользователь вводит время простоя и помещает его в список, теперь в этой же пользовательской форме у меня есть другое отключенное текстовое поле, которое отображает общую сумму всех чисел в минутах из этих двухИногда код работает хорошо, проблема заключается, например, в том, что: пользователь вводит 2300 в текстовое поле «txtTStart» и 0010 в «txtTEnd», он приносит число -1370.У меня вопрос, как я могу получить правильную сумму для этого метода.
Private Sub cmdNext_Click()
Dim x As Integer
Dim totaldt As Double
Dim r As Long
Dim tdt As Double
Dim tdtt As Double
If Trim(Me.txtTStart.Value) = "" Then
Me.txtTStart.SetFocus
MsgBox "Please Enter Time Start"
Exit Sub
End If
If Trim(Me.txtTEnd.Value) = "" Then
Me.txtTEnd.SetFocus
MsgBox "Please Enter Time End"
Exit Sub
End If
If Trim(Me.cmbCode.Value) = "" Then
Me.cmbCode.SetFocus
MsgBox "Please Enter Downtime Code"
Exit Sub
End If
If Trim(Me.txtDesc.Value) = "" Then
Me.txtDesc.SetFocus
MsgBox "Please Enter Downtime Description"
Exit Sub
End If
If Trim(Me.txtDesc.Value) = "INVALID DOWNTIME CODE" Then
Me.txtDesc.SetFocus
MsgBox "Please Insert Valid Downtime Code"
Exit Sub
End If
tdt = Format((CDate(txtTEnd.Value) - CDate(txtTStart.Value)) * 1440)
tdtt = Round(tdt)
x = lstDes.ListCount
With lstDes
.AddItem
.List(x, 0) = txtTStart.Value
.List(x, 1) = txtTEnd.Value
.List(x, 2) = tdtt
.List(x, 3) = cmbCode.Value
.List(x, 4) = txtDesc.Value
End With
totaldt = 0
With lstDes
For r = 0 To .ListCount - 1
totaldt = totaldt + .List(r, 2)
Next r
End With
txtDT.Value = totaldt
Me.txtTStart.Value = ""
Me.txtTEnd.Value = ""
'Me.txtTot.Value = ""
Me.cmbCode.Value = ""
Me.txtDesc.Value = ""
End Sub