Access - [Access] Consulta de Registros agrupados

   
Vista:

[Access] Consulta de Registros agrupados

Publicado por LUIS H (7 intervenciones) el 10/05/2017 17:48:20
Buenos dias a todos

Tengo el siguiente problema:

Tengo una tabla en una base de access conel siguiente listado de clientes, la idea es que mediante una consulta de agrupación access me deje el registro con la fecha de actualizacion mas reciente para el cliente que estoy consultando, la estructura es la siguiente:

Nombre----------Cuidad-----------Telefono-----------Fecha de Act
Pepito-------------Bogota------------2589454-------------08/05/2014
Pepito-------------Cali----------------3213118--------------07/05/2016
Pepito-------------Medellin----------6549871-------------09/06/2015
Plutarco----------Cartagena--------1198744-------------06/08/2015
Plutarco----------Armenia-----------3121111-------------08/04/2017
Plutarco----------Barranca----------6546544-------------05/07/2000
Anacleta---------Sogamoso--------6546456--------------08/07/2005
Anacleta---------Melgar--------------7465411-------------07/06/2009
Anacleta---------Ibague--------------6545444-------------08/07/2010

Cuando configuro la consulta le indico que me agrupe por la columna "Nombre" y le indico que me regrese el MAX de la columna Fecha y le agrego los campo ciudad y telefono pero el resultado de la consulta es el siguiente:

Nombre----------Cuidad-----------Telefono------------Fecha de Act
Pepito-------------Bogota------------2589454--------------07/05/2016
Plutarco----------Cartagena--------1198744--------------08/04/2017
Anacleta----------Sogamoso-------6546456--------------08/07/2010

Me trae las ultimas fechas tal y como se lo indico pero me trae la primera ciudad y telefono que encuentra

Lo que quiero es que traiga la ciudad y telefono correspondiente a la fila o registro que tenga la fecha de actualización mas reciente.

NOTA: No puedo hacer una organizacion de los datos ya que la base se va a actualizar a diario y por seguridad no se puede entrar a la tabla principal

Muchas Gracias por su ayuda
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 Francisco

[Access] Consulta de Registros agrupados

Publicado por Francisco (80 intervenciones) el 25/05/2017 00:18:52
La vista la tienes que crear de esta manera

1
2
3
4
5
6
SELECT DISTINCT
	c.Nombre,
	(select ciudad from Clientes as x where x.nombre=c.nombre and x.FechaDeAct = (select max(FechaDeAct) from Clientes as t where t.Nombre=c.nombre)) AS Ciudad,
	(select telefono from Clientes as x where x.nombre=c.nombre and x.FechaDeAct = (select max(FechaDeAct) from Clientes as t where t.Nombre=c.nombre)) AS Telefono,
	(select max(FechaDeAct) from Clientes as t where t.Nombre=c.nombre) AS FechaDeAct
FROM Clientes AS c;

Otra manera de hacerlo

1
2
3
4
5
6
7
SELECT
	c.Nombre,
	(select ciudad from Clientes t where t.nombre=c.nombre and t.FechaDeAct = (select max(FechaDeAct) from Clientes as x where x.Nombre=c.Nombre) ) as Ciudad,
	(select telefono from Clientes t where t.nombre=c.nombre and t.FechaDeAct = (select max(FechaDeAct) from Clientes as x where x.Nombre=c.Nombre) ) as Telefono,
	Max(c.FechaDeAct) AS UltFechaDeAct
FROM Clientes AS c
GROUP BY c.Nombre;

Resultado
lwp_query1

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

[Access] Consulta de Registros agrupados

Publicado por LUIS H (7 intervenciones) el 25/05/2017 20:49:12
Fransisco,

Muchas gracias por tu respuesta, disculpa mi ignorancia cuando dices "La vista la tienes que crear de esta manera" a que te refieres, no entiendo si tengo que ir a VBA o en que parte de Access tengo que hacer uso de las funciones que me dices.

Muchas 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
Revisar política de publicidad