Access - Formato en consulta

 
Vista:

Formato en consulta

Publicado por manel (2 intervenciones) el 04/12/2002 17:42:07
Partiendo de dos bases datos relacionadas (Articulos y Tiempo en horas, minutos) y quiero crear una consulta que los relacione.
El problema se plantea cuando el campo articulo esta vacío.
He podido solucionar la cuestión mediante la funcion Nz([tal];0) que proporciona valor 0 en campos vacíos, el problema se plantea al ser incapaz de que la consulta acepte el valor 0 como horas minutos (00:00) lo cual impide las operaciones de suma.
¿Como dar formato horas:minutos en una consulta con un campo vacío?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Formato en consulta

Publicado por 2pl (1 intervención) el 05/12/2002 22:28:03
Si el campo articulo está vacio no debe salir en la consulta y te evitaria ese problema.De todas formas mirate el formato de hora mediana.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Formato en consulta

Publicado por manel (2 intervenciones) el 06/12/2002 22:22:00
El problema es precisamente ese. Si el articulo está vacío los resultados en tiempo también están vacío. Consecuencia: al intentar hacer operaciones (suma de tiempos, diferencias) el resultado también aparece vacio ya que algunos campos dan resultado 0:15 p.ejem y otro vacio el resultado debería ser 0:15 (suma de 0:15+0:00) y en cambio aparece siempre vacio.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Formato en consulta

Publicado por Toni Nerin (21 intervenciones) el 23/12/2002 10:02:58
Si intentas sumar horas, no te va a funcionar bien, y aque al sumar por ejemplo 0:15 con 0:50 te dará 0:65 cosa que no es correcta.

Tienes que separar las horas de los minutos, y sumarlo por separado.

Por cada 60 minutos deberías de sumar 1 hora.

Por ejemplo podrías poner:

*-----------------------------------------------------------------------------------------
Private Sub Detalle_Print(Cancel As Integer, PrintCount As Integer)

Dim HTR As Variant
Dim MTR As Variant

If (Horas_trabajadas) <> "" Then
HTR = Hour(Horas_trabajadas)
MTR = Minute(Horas_trabajadas)
End If

Me.THTR = (HTR + Me.THTR)
Me.TMTR = (MTR + Me.TMTR)

If Me.TMTR >= 60 Then
Me.THTR = THTR + 1
Me.TMTR = TMTR - 60
End If

End Sub
*-----------------------------------------------------------------------------------------

Y crear un campo de salida con el "Origen del control":

=[THTR] & ':' & [TMTR]

*-----------------------------------------------------------------------------------------

Con todo esto, ya podrías jugar un poco en el tema de sumar tiempos.

Espero te sirv ade ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar