Registros duplicados en una consulta

Estoy haciendo una consulta donde estoy llamando datos de diferentes tablas. Por ejemplo, consumibles entregados y su precio salen de una tabla, piezas utilizadas y su precio salen de otra tabla, copias realizadas en color y b/n salen de otra tabla. Todas las tablas estan relacionadas entre si por el Nº de serie. El problema está en que me repite un montón de veces algunos de los registros. La idea es desde una sola consulta, llamar a todos los datos necesarios para realizar un control de rentabilidad, es decir, de cada nº de serie, quiero saber cuanto dinero nos ha costado en piezas, en mano de obra y en consumibles, cada uno de esos conceptos están registrados en tablas diferentes.

Ejemplo:

Lo quiero conseguir es lo mismo que la siguiente imagen:

Pero esto no me sirve porque solo es un formulario donde se muestran los datos que vienen de varias consultas. Lo que necesito es obtener todos estos datos de todos los nº de serie que tenemos para controlar de forma rapida las rentabilidades de cada máquina.

2 Respuestas

Respuesta
1

Si es posible utilizar consultas de agrupación y es importante hacerlo y no acostumbrarse a dsum(), toda vez, que cuando migre a un sistema más robusto como postgreSQL y use Access como Front End pero trabajando con recordset desconectados (no vinculando), ya habrá recorrido un gran camino pues de nada sirve dsum() y otras funciones de Access, es ahí donde se debe aprender SQL.

Mirando su consulta veo que debe cambiar Agrupar por Dónde en la cuadricula "Estado" "Piezas Utilizadas". Para esto se agrupa para evitar varios Dsum().

Ahora, si prefiere envíeme la base de datos a [email protected] y le colaboro con su duda.

Respuesta
2

No me canso de repetir que por el hecho de que una tabla vaya a coger datos de otra no quiere decir que deban estar relacionadas. Tu coges un taxi, te lleva a donde sea pagas y adiós. No tienes ninguna relación con el taxista, vas a usar sus servicios.

Para eso están las funciones Dlookup y Dsum. Por ejemplo, basto pero ejemplo,

tiporuedas=dlookup("ruedas","tablaruedas","tipovehiculo='" & me.nombredelcontrol & "'")

Gasto=dsum("subtotal","viajes","matrícula='" & me.matrícula & "'") 

Para concretar un poco más

Gasto =dsum("coste","piezas utilizadas","[nº de serie]=" & me.[nº de serie] & "")

¡Gracias! Entiendo un poco lo que me dices, pero no se donde ubicar el dlook y el dsum para obtener todos los datos que necesito. Ahora ya los tengo en modo formulario para cada registro individual, mediante el formulario que pasé de ejemplo. Lo que necesito es poder crear una consulta donde me muestre la rentabilidad ya calculada de cada referencia, así podemos controlar de forma fácil las maquinas mas y menos rentable de nuestro parque.

Creo que tienes mi correo, pero por si no fuera así es [email protected]

Mándame un mensaje, sólo el mensaje, y te preparo un ejemplo, sino con todos tu datos, si con los suficientes para que, más o menos, veas como se hace.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas