¿Cómo hayo la diferencia en días entre registros distintos con una base de datos Microsoft Access?

Tengo una tabla en que en cada registro hay varios campos (nombre, provincia, fecha partida, fecha llegada). Necesito extraer de la tabla los registros en los que haya un mismo nombre y provincia, y además que concurra la circunstancia de que entre la fecha de llegada (del primer registro) y la fecha de partida (del siguiente registro) sea inferior a 100 días. Como puede ocurrir que haya dos, tres, cuatro, cinco o más registros en que nombre y provincia se repitan, necesito que lo haga sin fijar un número de casos sino que lo haga siempre que concurre menos de 100 días entre llegada y partida para un mismo nombre.

1 respuesta

Respuesta
1
Necesitas explicar mejor lo que quieres, dices que fechas entre 100 días, 100 días entre que, le pasas tu la fecha que fecha partida y llegada. Si pusieses un ejemplo ayuda.
Te explico con un ejemplo: Importo una hoja de cálculo de excel a access y queda como tabla, + o -, así:
Nº nombre provincia fecha de partida fecha de llegada
1       ALICIA             ÁLAVA                    15/02/2004                        15/02/2005
2       CARMEN         ALBACETE               15/05/2004                        21/09/2006
3       CARMEN         ALBACETE               31/09/2006                        10/09/2007
4       CARMEN         ALBACETE               15/11/2007
5       LUIS               ALMERÍA                 10/01/2008                        28/10/2008
6       LUIS               ALMERÍA                 05/12/2008                        05/01/2009
7       LUIS               ALICANTE               10/11/2008                         02/01/2009
8       LUIS               ALICANTE               10/05/2009                         25/01/2009
9       LUIS               ALBACETE               27/03/2009
Bien, los datos de la tabla vienen ya establecidos (y son muchos) con lo que no hay que introducir ningún valor sino simplemente efectuar la consulta.
En este ejemplo habría de extraer los registros nº 2,3 y 4 (Carmen, Albacete) porque "nombre" y "provincia" coinciden y entre la "fecha de llegada" del 2º y la "fecha de partida" del 3º hay menos de 100 días; y entre la "fecha de llegada" del 3º y la "fecha de partida" del 4º hay menos de 100 días. Puede ocurrir que "fecha de llegada" esté en blanco porque todavía no ha vuelto.
También habría que extraer los registros 5º Y 6º (Luis, Almería) porque "nombre" y "provincia" coinciden y entre la "fecha de llegada" del 5º y la "fecha de partida" del 6º hay menos de 100 días.
No habría que extraer ni el 1º (Alicia, Álava) porque no hay otro registro en que coincidan esos valores; ni tampoco el registro 7 y 8 (Luis, Alicante) porque aunque hay coincidencia en "nombre" y "provincia", entre "fecha de llegada" y "fecha de partida" hay más de 100 días; ni tampoco el 8º y el 9º porque nombre coincide pero provincia no.
Espero haberte aclarado algo. No sé si podría hacerse algo en SQL, o en Vista Diseño en una consulta. Te pido que me lo expliques y si es con código que lo escribas porque no controlo demasiado. La tabla se llama "datosviaje". Si te hace falta alguna aclaracióin más me lo indicas.
Gracias.
Por partes, ¿entras en diseño de consulta y añades la tabla 2 VECES ok?, enlaza Nombre con Nombre y Provincia con Provincia, pon en la consulta los campos y con mucho cuidado en debajo de la 2ª fecha partida pones, en criterios:
Nombre Provincia fecha partida Fecha llegada fecha partida Fecha llegada
Datosviaje datosviaje datosviaje datosviaje datosviaje1 datosviaje1
                                                                                <[datosviaje].[fecha partida]
Ya casi lo tenemos, ahora, en una casilla en una columna libre (a la derecha de Fecha llegada), pones, en datosviaje1 tienes la anterior llegada:
[datosviaje].[Fecha partida]-[datosviaje].[fecha llegada]
Y debajo, en criterio:
<100
Y ya lo tienes, repasa el nombre de los campos y pon los corchetes.
Gracias por la respuesta pero tengo un problema. En relación con la segunda parte de tu respuesta pongo en columna libre:
En fila campo: Expr1: [datosviaje].[Fecha partida]-[datosviaje].[fecha llegada]
En fila tabla: datosviaje1
En fila criterios:<100
Pero si pongo datosviaje1 como tabla me dice que le introduzca el valor del parámetro y si no pongo nada no sale bien el resultado.
Vamos a ver, léete despacito mi post, debes de agregar 2 veces la tabla, puede que se llame datosviaje1, datosviaje_1 miralo y cámbialo no es difícil.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas