Foros del Web » Soporte técnico » Ofimática »

consulta access

Estas en el tema de consulta access en el foro de Ofimática en Foros del Web. a ver si por aqui encuentro ayuda... Situación: una tabla con varios campos (columnas) los cuales tienes 3 registros. Planteamiento: necesito hacer una consulta que ...
  #1 (permalink)  
Antiguo 20/05/2008, 09:35
 
Fecha de Ingreso: mayo-2007
Mensajes: 32
Antigüedad: 16 años, 11 meses
Puntos: 0
consulta access

a ver si por aqui encuentro ayuda...
Situación: una tabla con varios campos (columnas) los cuales tienes 3 registros.

Planteamiento: necesito hacer una consulta que determine cuál de los 3 registros es el mayor, cuál el medio y cuál el menos (en valor numérico), de esta manera, la consulta asignará en algunos casos al mayor el 2, al medio el 1 y al menor el cero, pero en otros campos la asignación es contraria a ésto, siendo para el mayor el 0,para el medio el 1 y para el menor el 2.

Gracias! Si alguien sabe en qué foro puedo postear mi consulta agradecré mucho!
  #2 (permalink)  
Antiguo 20/05/2008, 10:46
 
Fecha de Ingreso: julio-2006
Ubicación: Madrid
Mensajes: 943
Antigüedad: 17 años, 8 meses
Puntos: 56
Respuesta: consulta access

Hola,

Me temo que no te entiendo. ¿Qué significa cuál registro es el mayor?
El mayor en base a qué? No lo entiendo, lo que yo entiendo es que quisieras hallar cuál de los tres registros tiene el mayor valor dentro de alguno de los 3 campos, pero como se mide si un registro es mayor que los demás?

Si pudieras tratar de explicármelo un poco más claro, te lo agradecería, a ver si me entero y puedo echárte una mano.

Un saludo.
  #3 (permalink)  
Antiguo 20/05/2008, 12:00
 
Fecha de Ingreso: mayo-2007
Mensajes: 32
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: consulta access

gracias jchuk

una tabla tiene campos, los campos tienen registros, hasta aqui creo todo bien.
la tabla tiene 20 campos, cada campo tiene 3 registros numericos.

el campo N tiene los registros reg1 = 5, reg2 = 3, reg3 = 1, necesito ahora realizar una consulta que me diga cual registro del campo N es el mayor, cual el menor y cual el medio,
deberia decirme el mayor es reg1, el medio es reg2 y el menor es reg3.

Ya con esto estoy muyyyyy agradecido
  #4 (permalink)  
Antiguo 20/05/2008, 12:12
Avatar de abrahamvj  
Fecha de Ingreso: julio-2006
Ubicación: Lima, Peru
Mensajes: 708
Antigüedad: 17 años, 9 meses
Puntos: 18
Respuesta: consulta access

Pues para el de mayor valor y de menor valor, pues usa DMAX y/o DMIN. Para un registro de valor ¿medio?, pues, en este momento no se me ocurre nada :(

Abraham
  #5 (permalink)  
Antiguo 20/05/2008, 12:33
 
Fecha de Ingreso: mayo-2007
Mensajes: 32
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: consulta access

Bueno, gracias, pero creo que debí preguntar primero, es factible hacer la consulta con funciones propias de access o es con modulos de VB?
  #6 (permalink)  
Antiguo 20/05/2008, 12:36
 
Fecha de Ingreso: julio-2006
Ubicación: Madrid
Mensajes: 943
Antigüedad: 17 años, 8 meses
Puntos: 56
Respuesta: consulta access

Debo entender que en toda la tabla, con sus 20 campos, solo hay 3 registros únicamente?

Si es así, pues usa la función Max y Min, o como te dice abrahamvj con dmax o dmin.

Estas funciones son propias de access, no son de vba.
Para hallar el del medio, eso en estadística es la mediana, pero no me suena que access tenga esa función. No obstante, si con max y min has hallado el más alto y el más bajo, y sólo tienes 3 registros, el que queda es el del medio no hay más posibilidades.

Esto puedes controlarlo con la función de control de flujo de datos SiInm

A ver si te sirve. Un saludo.
  #7 (permalink)  
Antiguo 20/05/2008, 15:46
Avatar de ViccoLizcano  
Fecha de Ingreso: enero-2008
Ubicación: Working...
Mensajes: 100
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: consulta access

Suponiendo que la tabla se llame TABLA1 y el campo donde buscaremos mayor y menor sea INFO.

1.- Esta consulta te regresa el valor Mayor:
SELECT MAX(INFO) FROM TABLA1

2.- Esta consulta te regresa el valor Menor:
SELECT MIN(INFO) FROM TABLA1

3.1.- Para sacar el valor de enmedio, primero guardamos la siguiente consulta como "qryUNION"*:
SELECT MIN(INFO) FROM TABLA1 UNION SELECT MAX(INFO) FROM TABLA1

3.2.- Enmedio (sí sólo son 3 registros)
SELECT INFO FROM TABLA1
WHERE INFO NOT IN (SELECT * FROM qryUNION)



Explicado más o menos:
1.- Seleccionamos el valor máximo (funciona incluso si existen más de tres registros)
2.- Seleccionamos el valor menor (funciona incluso si existen más de tres registros)
3.1.- Simplemente unimos los resultados de las dos previas consultas, mayor y menor.
3.2.- Si tenemos el valor mayor y el valor menor, ¿que nos queda en la tabla? Pues el valor de enmedio, que es lo que extraemos en esta consulta. Esta sólo te sirve si tienes tres registros en la tabla como mencionas porque automáticamente estarías eliminando el mayor y el menor.

Espero te haya servido, ¡suerte!

*Yo usé el nombre "qryUNION" para mi consulta, pero puede ser cualquiera, a tu gusto, siempre y cuando también lo uses en la consulta 3.2

Última edición por ViccoLizcano; 20/05/2008 a las 15:51 Razón: Agregué formato para mayor claridad. Y otra aclaración.
  #8 (permalink)  
Antiguo 20/05/2008, 16:20
 
Fecha de Ingreso: mayo-2007
Mensajes: 32
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: consulta access

Carambas, gracias por las respuestas, seguro podré hacer algo con ésto...Saludos! Y disculpen, pero soy programador Php, y ya saben en el trabajo se les ocurre cada cosa y no conozco access.

Son muy amables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:58.