informe

2 envíos / 0 nuevos
Último envío
tetorin
Imagen de tetorin
Offline
última acción: Hace 8 meses 1 día
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 26/05/2011 - 02:57
Puntos: 3262
informe

Buen dia

Estoy crando una base de datos para registro de fallas de unos equipos y es por medio de un formulario pero ahora nose como hacer un informe en el cual pueda mostrar las 10 fallas mayores del dia por responsable  y las 10 fallas mayores del mes y cuando cierre el año las 10 mayores en el año,

espero me puedan ayudar

 

AdjuntoTamaño
Image icon fallas.jpg98.85 KB
pacomegia
Imagen de pacomegia
Offline
última acción: Hace 3 días 36 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
¿Cómo se hace una consulta

¿Cómo se hace una consulta para obtener los N resultados superiores? 

Imagino que tendrás un campo que te diga el tamaño de la falla (dices que quieres las 10 mayores, entonces tendrás que ordenarlas por su "tamaño", que puede ser la duración de la reparación, el coste de la reparación, el tiempo de parada o de afección, ... lo que sea)

para elegir los 10 mayores, ordenaremos los resultados por ese tamaño de mayor a menor, esto es, en orden descendente, y tomaremos los 10 primeros valores.

Si creas la consulta mediante la interfaz de Access:
-no olvides ordenar de modo descendente por el tamaño
-en las propiedades de la consulta tienes la propiedad "valores superiores" que indica cuántos registros quieres, ahí pones que quieres 10 (por defecto pone Todos)

crear consulta N valores superiores Access

 

La consulta en SQL de Access sería algo parecido a esto:
El truco está en poner TOP 10  es decir los 10 valores superiores,
por ejemplo los diez valores superiores entre el 1 y el 31 de agosto de 2015 

SELECT TOP 10 * FROM tabla_fallas

WHERE fecha between #8/1/2015# and #8/31/2015#

ORDER BY tabla_fallas.tamaño DESC;

 
 
El Informe.
Prueba a crear un informe basado en la tabla de fallas, que lo muestre todo.
¿sabes crear un informe? Supongo que sí
Como habrás comprobado, necesitarás ligeras variaciones de la consulta anterior para tus condiciones (entre tal y cual fecha, del responsable X, etc, etc)
En realidad es el mismo informe cambiando los datos de origen.
Esto lo puedes conseguir de varias maneras, por ejemplo aprovechando el evento "Al abrir" del formulario, combinado con por ejemplo un argumento de apertura que nos indique por ejemplo la condición. es decir, al abrir el informe modificamos el origen de los datos del informe para mostra lo que queramos.
 
imaginemos que en argumento OpenArgs al abrir el formulario pasamos directamente la condición para los datos
entonces el evento podría ser algo así:
Private Sub Report_Open(Cancel As Integer)
    Me.RecordSource = "SELECT TOP 10 * FROM tabla_fallas " & _
        IIf(Me.OpenArgs = "", "", " WHERE " & Me.OpenArgs) & _
        " ORDER BY tabla_fallas.tamaño DESC;"
End Sub
 
¿y cómo abriríamos el informe? Pues algo así.
DoCmd.OpenReport Reportname:="NombreInforme", view:=acViewPreview, OpenArgs:="fecha between #8/1/2015# and #8/31/2015#"
 
recuerda, las fechas en formato mes/dia/año 
 
 

 

------
Ya sé Excel, pero necesito más.