Access - consulta

   
Vista:

consulta

Publicado por Dani (1 intervención) el 14/07/2008 18:10:11
Tengo una tabla de cimentaciones con los siguientes campos:
-nº expediente
-Tipo_cimentacion
-Profundidad
-Longitud
-Resistencia
Si el tipo de cimentación es zapata sólo necesito conocer: nº expediente, tipo, profundidad y resistencia
Si el tipo de cimentación es pilote sólo necesito conocer: nº expediente, tipo profundidad y longitud
Quiero consultar para cada expediente los tipos de cimentacion y sus datos, por tanto, supongo que necesito una consulta if.....then que me de (nº exp, tipo, profundidad y resistencia) cuando tipo=zapata y el caso de tipo=pilote cambie resistencia por longitud.
¿Es posible?¿Como se hace?
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

RE:consulta

Publicado por antperlop (6 intervenciones) el 14/07/2008 22:48:50
Habrá muchas formas de hacerlo y una de ellas puede ser esta:
1.- Te creas un formulario con todos los campos
En el evento "al activar registro" y en el evento "despues de actualizar" del campo tipo_cimentacion pones
if me.tipo_cimentacion="zapata" then
me.longitud.visible=false
me.resistencia.visible=true
elseif me.tipo="pilote" then
me.longitud.visible=true
me.resistencia.visible=false
endif
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

RE:consulta

Publicado por pacopaz (50 intervenciones) el 14/07/2008 23:54:44
Lo que quieres es la consulta?
Si es así, la respuesta es esta

select
...
iif(Tipo_cimentación="zapata",Longitud,Resistencia) as Valor
...
from
....

Espero que te sirva.

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

RE:consulta

Publicado por Dani (1 intervención) el 15/07/2008 11:56:57
Pongo:
select Expediente, Tipo, Profundidad, Longitud, Resistencia
iif(Tipo_cimentación="zapata",Longitud,Resistencia) as (cimentacion.Longitud, cimentacion.Resistencia)
from cimentacion;
pero me da error. ¿Sabeis xq?
Gracias
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

RE:consulta

Publicado por mi menda (1111 intervenciones) el 15/07/2008 16:20:47
Hola Dani:

Quizas sea mejor plantearte el problema en varias tablas.
Una tabla donde tengamos los tipos de cimentaciones, en otra el expediente, tipo, profundidad,etc..
Creamos una tabla nueva para relacionar las otras dos varios a varios.
En esta tabla de unión damos de alta la cimentación y lo que corresponda de la otra(expediente,tipo,etcc.)
Luego solo tendrias que hacer un formulario con las cimentaciones y un subformulario donde automaticamente te aparecerían los datos correspondientes.

Un Saludo
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