Estoy diseñando una consulta de dos tablas pero uno de los campos se repite en las dos tablas y access me da un error

Los miembros de este foro, en esta oportunidad requiero de sus ayudas por lo siguiente estoy diseñando una consulta en acces, allí tengo dos tablas, "producto" y "detalleventa", requiero una consulta de ventas por fecha y estoy usando el campo "cant". Este campo está en las dos tablas por lo que al momento de hacer la consulta entra en conflicto, que expresión debe teclear para que la consulta identifique que el campo "cant" que estoy usando es el de la table "detalleventa"... De antemano gracias por la ayuda y además debo reconocer lo meritos que tienen al compartir sus conocimientos

2 respuestas

Respuesta
1

Para resolver el conflicto de nombres de campo en la consulta de Access, puedes utilizar los alias de tabla para especificar de qué tabla proviene el campo "cant". Le dejo una idea de cómo hacerlo:

SELECT producto.cant AS cantidad_producto, detalleventa.cant AS cantidad_detalleventa, ...
FROM producto, detalleventa
WHERE ...

En el código anterior, se utilizan los alias de tabla "producto" y "detalleventa" para especificar qué campo "cant" se está seleccionando en cada tabla.

Respuesta
1

En Access eso no es un problema, pues se le puede añadir el 'apellido' (el nombre la la tabla).

De hecho esa es la metodología que aplica por defecto el generador gráfico de consultas (y que se puede reducir cuando se trata de una sola tabla o si son más de una, los campos no repiten un nombre).

Uno quedaría como:
Producto. Cant, el otro como detalleventa. Cant
Y admite también:
Producto! Cant y detalleventa! Cant

Ambas formas pueden utilizarse sin mayor problema.

¡Gracias! Intente hacerlo pero no sé si es que lo estoy haciendo mal pero no me funcionó 

Si puedes publicar lo que has intentado (la SQL de la consulta) se podría llegar a una conclusión.

Muchas tablas tienen por defecto (o costumbre) llamar ID al campo llave de la tabla y si no se pudieran diferenciar los diferentes 'IDs' el diccionario podría quedarse corto en contenido.

La solución esta en añadir la procedencia del dato (el nombre de la tabla) y puede haber en la misma base de datos un [Ventas].[ID], un [Compras].[ID] y sus asociados clásicos [DetalleVentas].[ID], [DetalleCompras].[ID]  ... y asi para todos los campos que puedan 'colisionar' con sus nombres (es similar a un Juan González y un Juan Pérez: comparten onomástica pueden incluso compartir el cumpleaños, pero son diferentes en su igualdad).

(Ojo con el espacio que añade el foro por defecto al detectar el punto como un 'punto y seguido' y hacer la corrección ortográfica).

...
Producto. Cant, el otro como detalleventa. Cant

Producto. Cant, el otro como detalleventa. Cant

Corrige incluso si se le indica que es código ..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas