Comparar valores misma columna SQL access

Soy primerizo en el uso de SQL Access y tengo un problema que necesito resolver YA. Tengo el siguiente problema: tengo una tabla con temperaturas máximas de una zona, y con cada valor de la temperatura hay asociado la fecha y la estación meteorológica con la que se medió la variable. Mi intención es que mediante un código en SQL en Access, me seleccione que grupo de valores cumplen con una condición, que es (Tx(día)=Tx(día-1)=Tx(día -2)), es decir por ejemplo, que Tx(07/04/1995)=Tx(06/04/1995)=Tx(05/04/1995). Para que se quede claro os pongo un ejemplo:

Teniendo en cuenta la tabla anterior, mi intención es que mediante una consulta, el programa me dé lo siguiente o algo parecido:

Es decir, que me seleccione los valores que se repiten en este caso 3 veces seguidas.

Espero haberme explicado con claridad. No se si es muy complicado.

Respuesta
1

No me cuadra la descripción de lo que pides, con el resultado que esperas obtener.

Dices que quieres obtener los que cumplan:

Tx(día)=Tx(día-1)=Tx(día -2)

Y pones como resultado a obtener:

- 5/10, que es distinto del 4/10

- 6/10, que si es igual al 5/10 pero es distinto del 4/10

Aclara que es lo que buscas.

Buenas Jesús,

Gracias por su interés y ayuda.

La intención es comparar días consecutivos, y que el programa me detecte cuando los valores de temperatura máxima (Tx) se repitan en al menos tres ocasiones.

Sigues sin aclarármelo ... :-)

Con los datos que has puesto antes, el día 5/10 ¿debe salir?, ... lo digo porque es distinto del 4/10

De los datos que he puesto (del 03/04/1995 hasta el 16/04/1995), la intención es que el programa me detectara los siguientes valores:

05/04/1995

06/04/1995                      Estos cuatro porque el valor de Tx se repite en "27"

07/04/1995

08/04/1995

y

11/04/1995

12/04/1995                         Estos cuatro porque el valor de Tx se repite en "26.3"

13/04/1995

14/04/1995

Siento si le estoy confundiendo.

Vale, ahora tengo claro lo que quieres ... la cuestión es que no me surge ninguna idea que sea fácil de implementar, las que se me ocurren requieren bastante programación (porque lo que pides tiene miga) y eso significa dedicarle un tiempo libre que no tengo.

Muchas gracias de todos modos Jesús,

Solo te pediría una cosa, me podrías aconsejar medianamente sobre los primeros pasos para conseguirlo?

Muchas gracias de nuevo.

Recibe un cordial saludo

Hay un primer camino (que seguro que funciona) que es usar un recordset con VBA. El problema de esta solución es que implica realizar unas cuatro/cinco lecturas por cada registro a tratar, y si el fichero es muy grande, cosa que dices se puede hacer 'eterno'.

La idea sería hacerlo en varios pasos,

- En el primero obtendríamos una tabla que 'creara' los grupos de fechas que se repiten, numerando los mismos, usando una función dentro de la consulta SQL

- En el segundo explotando esta tabla obtenida obtendríamos la tabla resultado seleccionando los grupos con 3 o más repeticiones

Esto seguro que es más rápido, aunque tiene el 'aquel' de que hay que pulirlo bien.

Gracias  Jesús, vamos manos la obra.

Un saludo.

No se si ya lo solucionaste o todavía lo tienes pendiente ...

En todo caso aquí te dejo la solución hecha con SQL y una función personal a medida.

Un saludo.

[url=http://www.accessaplicaciones.com/ejemplos.html#sqf01 ]LINK AccessAplicaciones.com[/url]

1 respuesta más de otro experto

Respuesta
2

En código VB es más fácil pero allá va. Teniendo en cuenta que la "fórmula" sólo se dará cuando Tx sea 3 o más veces igual. Supongamos que la tabla que tiene lo de Id, Fecha y TX se llama Pascual. Con esa tabla crea una consulta y añádele los campos Id y TX(éste dos veces) y dale al botón de Agrupar) y déjalos como en la imagen

Guárdala. Luego crea otra consulta con la tabla Pascual y esa consulta guardada, según la imagen

Buenas Icue,

Antes de nada gracias por el interés y ayuda.

La intención como comenta el compañero Jesús es que los datos sean consecutivos. Estoy intentado hacer lo que me has dicho, pero no soy capaz de hacer el primer paso. ¿Habría que hacer una tabla que se llame Borrar? y en su caso, no me aparece el campo "Total", es decir, me aparece los campos "Campo, Tabla, Orden, Mostrar", pero no el de "Total".

Muchas gracias.

Buenas Icue,

Me podrías ayudar a resolverlo mediante VB? no tengo muchísima idea pero si crees que es más fácil te lo agradecería.

Muchas gracias.

Un saludo.

Me he dado cuenta de que no había puesto una imagen. Si te parece bien, y si quieres, mándame un mensaje a [email protected] y te mando el ejemplo con tus mismos datos. Si lo haces, en el asunto del mensaje pon tu alias Pascual, ya que si no sé quien me escribe ni los abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas