Consulta de Access

Necesito realizar una Consulta. La base de datos Access está organizada en registros con los siguientes campos:
Avión - blanco - 1940
Coche - azul - 1960
Moto - negra - 1980
Quiero saber qué escribir en un campo de consulta para que el resultado de la nueva tabla sea:
Avión - coche - blanco - 1940
Coche - moto - azul - 1960
Moto - [nada] - negra -1980
Es decir, hay un nuevo campo en cada registro. En este nuevo campo aparece el primer campo del registro siguiente. Y aparece en blanco si el último.
Muchas gracias. Chusé.

1 respuesta

Respuesta
1
Lo que se me ocurre para hacer esta consulta (si es que necesariamente tiene que ser en lenguaje SQL) es un Join de la tabla con la misma tabla. Esto se denomina Inner Join. Ademas necesitaras alguna forma de identificar los registros unívocamente, un identificador numérico CORRELATIVO, en cada registro seria de gran utilidad y la consulta podría ser:
Si tienes la tabla (t) con los campos c1, c2, c3 y c4. Teniendo en cuenta que c1 sea numérico y correlativo.
select [t1.c1] , t1.c2 , t2.c2 , t1.c3 t1.c4
from t as t1, t as t2
where t1.c1 = t2.c1 + 1 /* con esto quiero que sea el siguiente, si no son correlativas deberias utilizar otra formula para hallarlo*/
En caso de que trabajes des de Visual Basic, puedes trabajar directamente mediante un recordset
Muchísimas gracias por tu respuesta, Marianote.
Me has dado una buena idea y veo que puede funcionar.
A partir de la Tabla, he hecho una Consulta1 con la misma tabla y una Consulta2 en la que he escrito:
SELECT DISTINCTROW Tabla.objeto, Consulta1.objeto, Tabla.color, Tabla.año
FROM Tabla INNER JOIN Consulta1
ON Tabla.contador=Consulta1.contador-1
Pero hay un problema evidente: el contador. Es un contador con el orden de entrada de registros. Pero los registros están ordenados alfabéticamente por el campo objeto (avión, coche, moto...) y, además, es una tabla abierta a introducir posteriormente más objetos que serán ordenados.
Lo que necesito, entonces, es: Crear un campo numérico en la consulta que me diga qué lugar ocupa cada registro una vez ordenado alfabéticamente. ¿Sabrías ayudarme?
Chusé.
En principio tengo una corrección a tu consulta, NO ES NECESARIO CREAR una consulta adicional, puedes hacer un Inner Join de la tabla con la misma tabla directamente.
Con respecto al campo correlativo numérico puedes utilizar el campo AUTONUMÉRICO de Access. Este seguro que te va a servir.
Si tienes alguna otra duda, por favor inicia una nueva pregunta directamente a mi usuario, porque ESTA no me apareció entre los mensajes pendientes. Gracias y por favor comentame como te va con el problema

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas