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/
Perfecto muchas gracias, grande Podoexpertos - berta carrillo