Resta de tiempo

Que tal O. Aguilar
me perdi en la parte de Select
Esta división la realizo dentro del formulario es decir oprimo un botón y guarda la hora de inicio de atención lleno los datos atiendo al cliente y cuando voy a terminar doy click en el botón de guardar y ahí tengo la fórmula para restar la hora inicio y hora fin y lo más importante es la duración de la atención telefónica
Muestro el código
Private Sub guardar1_Click()
On Error GoTo Err_guardar1_Click
nuevo.Enabled = True
empresa.Enabled = False
responsable.Enabled = False
Plazas.Enabled = False
Motivos.Enabled = False
Servicios.Enabled = False
Id.Enabled = False
comentarios.Enabled = False
hora_fin = Format(Time, "HH:MM:SS")
duracion = (TimeValue(hora_fin) - TimeValue(hora_inicio))
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
xenfoque.SetFocus
guardar1.Enabled = False
gracias nuevamente por la atencion
Saludos !
Exit_guardar1_Click:
Exit Sub
Err_guardar1_Click:
MsgBox Err.Description
Resume Exit_guardar1_Click
End Sub

1 Respuesta

Respuesta
1
Lo que te había comentado era que debes almacenar las hora inicial y final, No es necesario almacenar el diferencial de tiempo, ya que es redundante. Por eso de había creado un QUERY SQL, para OBTENER el diferencial de tiempo, para fines de Visualizacion/Impresion.
De todas formas, hay un detalle de tu código:
Si hora_fin es de tipo datetime, (DIM  hora_fin as DateTime), no debes hacer esto
hora_fin = Format(Time, "HH:MM:SS")  , ya que Format trata de convertir hora_fin en Tipo string
Si no esta definido, entonces hora_fin se convierte en variable tipo texto, entonces TImevalue exige un parámetro DateTime, para extraer solo el valor time, lo cual no funcionaria si la variable es tipo texto.
Obviamente no vas a poder ver el error, porque tienes el manipulador de errores ON ERROR, Si lo desactivas, puedes ver con claridad lo que sucede.
Que tal, te agradezco tu atención de nueva cuenta
la verdad si lo necesito
y la verdad estoy bien verde para esto de la programación, necesito ver que quiere decir definición o como definir el formato del campo de las horas para saber como sacar la diferencia, por que aquí en este programa se mide por tiempo de atención .
¿Tendrás algún ejemplo hecho?
mira el campo hora_inicio, hora_fin, ¿Son tipo fecha/hora
un ejemplo más sencillito?
Saludos y te agradezco de nuevo tu atención
gracias
Crea un formulario de prueba, con lo campos y botones según el código anexo:
'declaracion de variables
Dim Hora_final As Date
Dim Hora_inicio As Date
Dim HDif As Date
Dim HDif2 As Date
'Cuando haces click al iniciar la atencion:
Private Sub CmdInicio_Click()
Hora_inicio = Now
Texto0 = Hora_inicio
End Sub
'Cuando haces click al FINALIZAR la atencion al cliente:
Private Sub cmdFinal_Click()
Hora_final = Now
Texto5 = Hora_finalEnd Sub
Private Sub cmdDiff_Click()
Texto9.SetFocus
HDif = Hora_final - Hora_inicio
Texto9.Text = Format$(HDif, "hh:mm:ss")
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas