Como buscar valores mínimos y máximos de una tabla en access 2003

Tengo una tabla con dos campos, Campo Iatas (ZAA, ZAB, ZAC) y Campo Códigos (del 1 al 26), realice una consulta de búsqueda de los valores mínimos y máximos, pero no me resulto dado que me busco los valor mínimo 1 y al máximo el 25 para la iata “ZAA”, lo que busco una consulta que me muestre los valores agrupados con la siguiente estructura:

Iatas mínimo máximo

ZAA 1 al 12

ZAB 13 al 15

ZAA 16 al 25

ZAC 26

2 respuestas

Respuesta
1

Aquí te traigo la solución a tu problema: http://www.filebig.net/files/kYC86HB7dW 

El problema estaba en que necesitabas tener una campo adicional que te "haga" esos grupos, para poder obtener los mínimos y máximos de cada "grupo". Como en tu tabla solo tienes los campos Iatas y Códigos (por lo que comentas en el enunciado), es necesario crearlos previamente en una consulta. Y ahí entra la función que te creé en el módulo.

A partir de ahí el proceso es sencillo, solo has de crear una consulta de totales sobre la consulta anterior.

Te explico los pasos que debes seguir para adaptarla a tu caso particular:

1º/ Crear un módulo nuevo en tu BD y pegar la función del módulo del ejemplo (o directamente importar el módulo a la tuya)

2º/ Modificar la linea:

Set rst = CurrentDb.OpenRecordset("SELECT * FROM Tabla1 WHERE Codigos<=" & Codigo & " ORDER BY Codigos")

Cambiando lo que está en negrita por los nombres de tu tabla (Tabla1) y campo de código (Códigos), teniendo en cuenta que si el nombre del campo llevara acento, debe ir entre corchetes, por ejemplo:

Set rst = CurrentDb.OpenRecordset("SELECT * FROM TDatos WHERE [Códigos]<=" & Codigo & " ORDER BY [Códigos]")

3º/ Creas una primera consulta con los campos Iatas y Códigos, y le añades, en la vista diseño, una nueva columna con este encabezado:

Grupo: fncAgrupa([Iatas];[Codigos])

Guardas la consulta con el nombre que quieras, por ejemplo CAux

4º/ Creas una consulta de totales sobre la consulta anterior, agrupando por Iata y por grupo, y agrupando el campo Código por mínimo y máximo. Para que te quede exactamente como pretendes, ordena los resultados por el campo Grupo y desmarca el check de ese campo para que no se muestre en el resultado de la consulta.

Un saludo.


Una nueva web de Access, visítanos: http://nksvaccessolutions.com/ 

Si no necesitas ninguna aclaración adicional, te agradecería que valorases la respuesta.

Un saludo.


Respuesta

Carlos: Te pongo un ejemplo. Supongamos que quieres rescatar el" Valor Máximo"

De un Código en una Tabla que se llama "NombreDeTuTabla" dentro del campo que se llama ZAA.

En un cuadro de Texto de un Formulario, pones ésta Fórmula.

=DMáx(“[Codigos]”;”NombreDeTuTabla”;”Iata = ‘” & “ZAA” & “’”)

Lo adaptas a tu necesidad.

Mis saludos >> Jacinto

Carlos: Sveinbjorn ha hecho un comentario en el que tiene razón y que puedes leer.

Ciertamente no te devolverá el valor de 12 de un rango como Máximo. Te devolverá 25.

Pero entonces al releer tu pregunta debo admitir:

1.- Que no la entiendo

2.- Que faltaría algún campo con Número de Rango u otro dato con el que Sondear.

Ya me contarás. Mis saludos >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas