Access - Forzar inclusión de registros

 
Vista:
sin imagen de perfil

Forzar inclusión de registros

Publicado por Bruno (2 intervenciones) el 13/02/2014 13:58:36
Hola: necesito vuestra ayuda con una consulta de access. Básicamente tengo una consulta en la que aparecen los siguientes campos: puesto funcional, tipo de equipamiento y número de equipamiento.

Básicamente quiero obtener un formulario continuo por puesto funcional, en el que me incluya el número de unidades de cada equipamiento que tiene cada puesto de trabajo (por ejemplo, 1 ordenador, 2 impresoras, 1 ratón, 3 teléfonos, 1 lámpara, ...)

Éstos formularios se incluirán como columnas en un formulario (como subformularios) en el que a la izquierda aparecerán etiquetas de equipamiento (una por cada tipo de equipamiento) y a la derecha, cada subformulario con las correspondientes unidades.

El problema surge en el caso de que no esté informado un determinado equipamiento, es decir, si por ejemplo un puesto no tiene impresora, aparecerá en el formulario: 1 ordenador, 1 ratón, 3 teléfonos, 1 lámpara, ... Ésto supone que, como el equipamiento impresora no existe, el ratón, por ejemplo, no aparecerá alineado con la etiqueta ratones sino con la etiqueta impresoras, y lo mismo ocurrirá con el resto de equipamiento que se encuentren por debajo de este registro.

¿Qué necesito? Necesito forzar que aparezcan todos los pares de registros equipamiento-número de cada uno de los puestos, es decir, que los registros que no existan los pongan como cero. Creo que se hace forzando en la consulta SQL correspondiente que aparezcan todos los valores del campo equipamiento pero desconozco cuál es exactamente el texto de dicha consulta SQL.

Espero vuestra ayuda para poder continuar. Gracias
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
sin imagen de perfil

Forzar inclusión de registros

Publicado por Jose Gilberto (16 intervenciones) el 18/02/2014 20:29:27
Bueno dandole una vista rapida al problema y respondiendo a lo ultimo que solicitas que es el como "forzar" la consulta SQL para que aparezcan todos los campos, puedes generar una instruccion IFF para cada campo que puede estar vacio, y poner que en caso de que sea nulo, colocar en el campo algo como "Sin registro" para indicar que para ese registro ese campo no existe un valor.

Si quieres probar la sintaxis del IIF es esta.

1
SELECT IIF(codicion, valorVerdadero, valorFalso)

Puedes colocar tantos IIF como campos tengas, y en tu caso para saber si esta nulo o no puedes utilizar la instruccion isNull. Te dejo un ejemplo aplicando todo.
Teniendo una tabla Datos con campos id, serie, cantidad, precio mostraremos todos los valores aunque cantidad y precio no esten registrados.
1
SELECT id, serie, IIF(isNull(cantidad), 'Sin registro', cantidad), IIF(isNull(precio), 'No aplica', precio) FROM Datos

Cabe mencionar que la instruccion isNull devuelve verdadero si el valor es nulo asi que los casos de verdadero y falso se intercambian en el IIF.
Espero haberte ayudado. Saludos.
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