Informe que agrupa información de muchas tablas

Estoy haciendo una base de datos para gestionar el taller, resumiendo mucho para que os hagáis una idea se podrían hacer 3 productos:

* Cortinas

* Juegos de cama

* Uniformes

Como cada producto es muy diferente del otro, hay una tabla para cada uno.

Cuando se crea un pedido / presupuesto, hay una tabla detalles_pedido, donde se guardan los datos genéricos, como: "Id_detalles_pedido","Cantidad","Descripcion","Importe"...

Y si se crea un registro en la tabla del producto correspondiente apuntando a este detalle de pedido.

Hasta aquí todo bien, pero el taller necesita ver de un "plumazo" todos los datos de todos los productos, no se puede ir entreteniendo en entrar en un formulario o informe diferente cada vez que quiere ver los detalles de un producto. Debería poder ver de golpe todos los detalles de todos los productos (aunque sean diferentes) en el mismo informe, y aquí es donde no consigo la manera.

He probado en cargar TODOS los datos en una consulta, y listarlos en un informe continuo, dependiendo de un campo se oculten unos campos u otros, pero no me acabo saliendo con la mía.

He probado a usar un subinforme redirigiendo a un informe para cada producto diferente, pero al ser un informe continuo me hace cosas raras.

¿Qué me recomendáis?

¿Veis qué hay problemas de diseño de la base de datos?

2 Respuestas

Respuesta
1

Vamos a ver si consigo explicarme. Yo haría una tabla Productos, con ( por ejemplo) Idproducto, TipoProducto, Talla, Dimensiones, Color, Precio, etc., es decir aquellos campos que hacen diferente un registro de otro. Un juego de cama puede ser de 90 x 1,90, 135 x 200, color rojo, beige, etc. Cuando quieras guardar un nuevo producto, o bien lo metes directamente en la tabla, o haces un formulario y vas metiendo los productos

Por otro lado haría una tabla Clientes, donde se guardan los datos que no cambian o cambian poco, nombre, CIF, dirección, etc.

Una tabla Ventas con(por ejemplo) Idventa(autonumérico y clave), FechaVenta, Cliente( que si ya te ha comprado antes, te aparce en en cuadro combinado), total venta y lo que estimes oportuno y una tabla Detalle De Venta(con idventa numérico) relacionada con la anterior y los campos TipoProducto, talla, dimensiones, cantidad, precio y subtotal . En las propiedades de la relación activa la casilla Exigir integridad referencial y Eliminar en cascada los registros seleccionados, así, si empezaste una venta pero luego no se llevó a cabo, con borrar el registro de Ventas ya te borra el(los) de Detalle de ventas.

Un formulario Ventas con Fecha, cliente, si quieres, cuadros de textos independientes donde te aparezca Dirección, nif, etc. Digo independientes, porque cuando escribas en el combinado el nombre del cliente, si ya está "dado de alta", te aparecerán todos sus datos y si no que te pregunte si quieres darlo de alta(por si vuelve a comprar ora vez)

Y el famoso Subformulario Deatalle de Ventas, donde Tipo de Producto lo conviertas en un cuadro combinado, con Origen de la fila en una instrucción SQL donde pongas los campos "que quieres ver", y al elegir uno ya te ponga automáticamente su precio, etc Cantidad, y que una vez hayas puesto ésta última, automat.. te ponga en el cuadro Subtotal el importe. Y que en el cuadro Total Venta del formulario, te ponga pues eso, el total de la venta.

Y creo que con eso, ya puedes hacer todos los informes, de facturación, existencias, balances, liquidación de IVA, etc

De todas formas, si quieres, te mando un ejemplo que hice hace tiempo.

Respuesta

Albar: La respuesta de Icue ciertamente es la que te llevaría a un diseño más fuerte de tu BD, pero si entre tanto necesitas mostrar información puedes:

Hacer una Consulta basada en las Tablas que tu creas necesarias y con los Campos que quieras ver, aunque según lo que busques, será un poco complicado al no tener Identificadores comunes.

Sobre esa consulta creas el Informe. Saludos >> Jacinto

Albar: Con el fin de cerrar temas, y dado que ésta pregunta me sale pendiente te ruego la valores o en su caso me comentes si necesitas información adicional. Saludos >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas