Access - ¿Es posible realizar esta consulta?

   
Vista:
Imágen de perfil de Paolo

¿Es posible realizar esta consulta?

Publicado por Paolo (8 intervenciones) el 02/03/2015 23:32:26
Hola

Estoy aprendiendo Access mientras armo un sistema para la recolección de datos en mi trabajo. Quiero hacer una consulta en particular y para explicarla les planteo un ejemplo:

Tengo:

* una tabla llamada "muestra" con los campos "pozo", "desde (m)", "hasta (m)" y "numero de muestra"
* una tabla llamada "geología" con los campos "pozo", "desde (m)", "hasta (m)" y "tipo de roca"
* una tabla llamada "pozos" con los campos "pozo", "coordenada x" y "coordenada y"

La tabla "pozo" tiene una relación de uno a varios con las tablas "muestra" y "geología", a través del campo "pozo"

Supongamos que en la tabla "pozo" creo un nuevo registro (pozo) llamado "A1", con sus respectivas coordenadas, luego en la tabla "muestra" cargo los siguientes registros:

BW5HO9s

y en la tabla geología:

lbmPOqY

¿Se puede hacer una consulta que me combine las muestras con el tipo de roca, teniendo en cuenta los intervalos de proundidad de la tabla muestras?

Algo como:

0kqm0Hl
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Manuel

¿Es posible realizar esta consulta?

Publicado por Manuel (41 intervenciones) el 03/03/2015 14:16:42
Se puede y es , te adjunto una base con los datos que pusiste y alguno más y con la consulta realizada... Eso si en donde por muestra hay 2 tipos de suelo, da 2 líneas (o más, si hubiese más tipos de suelo entre esa muestra).

La consulta es:
SELECT Muestra.IdMuestra, Muestra.Pozo, Muestra.Desde, Muestra.Hasta, Muestra.Nmuestra, Geologia.Tipo
FROM Muestra INNER JOIN Geologia ON Muestra.Pozo = Geologia.Pozo
WHERE (((Muestra.Pozo)="A1") AND ((Geologia.Desde)<[muestra]![Hasta]) AND ((Geologia.Hasta)>[muestra]![desde]));

Si quita lo de A1 te lo hace por cada pozo. Y el resto es matemáticas de primaria:
-la zona geológica tiene que empezar antes de que termine la zona de muestra
-y terminar por encima de donde empiece la zona de muestra

Y a partir de ahí se puede cumplir todo lo que se desee.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Paolo

¿Es posible realizar esta consulta?

Publicado por Paolo (8 intervenciones) el 03/03/2015 19:28:50
Funciona perfecto! Gracias!

Vamos a aprender SQL.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Manuel

¿Es posible realizar esta consulta?

Publicado por Manuel (41 intervenciones) el 05/03/2015 18:14:03
Si estás empezando con Access, pues SQL no es una de las prioridades al principio ya que con el asistente para consultas conseguirás lo que quieres en la mayoría de los casos y sin saber SQL. Con el tiempo si tendrás que aprender lo básico de SQL al menos. Pero antes de meterte con el SQL (hay gente que hace maravillas en Access y de SQL muy poco conocen y prácticamente nunca crean consultas escribiendo directamente la sentencia SQL), debes de familiarizarte con formularios, informes... asistentes varios como los de crear combos, etc.

hasta luego
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar