Filtros del Query

10/09/2003 - 08:28 por Eg | Informe spam
Que tal?
Utilizo el Query para traer tablas de datos de un programa
de gestión de la empresa (Navision) hacia una hoja de
Excel'97.
La cuestión es quería saber que función he de poner en los
criterios (al filtrar) para que me coja sólo el último
registro entrado en la tabla que he seleccionado, sin
tener que poner fecha, así cuando actualice desde la hoja
de Excel siempre me cogerá sólo el último. No sé si esto
es posible.
Otra cosa es cómo podría filtrar tambien por la fecha del
sistema; es decir, si existe alguna función para poner en
el filtro fecha que le diga que filtre por la fecha actual
del sistema operativo.
Muchas gracias y un saludo.
 

Leer las respuestas

#1 Fernando Arroyo
10/09/2003 - 12:02 | Informe spam
Me temo que no me expliqué bien en mi mensaje anterior: lo de la instrucción SQL tendrías que hacerlo en MS Query, no en la tabla de origen.

Intenta lo siguiente: en un libro nuevo (por si hubiera problemas) crea una nueva consulta desde Datos->Obtener datos externos->Nueva consulta de base de datos. Selecciona la tabla, y en la ventana "Orden de resolución" no olvides ordenar por el campo contador en orden descendente (ojo con esto, porque por defecto el orden es ascendente). En el último paso del Asistente de Query (el título de la ventana es "Asistente para consultas - Finalizar"), selecciona "Ver datos o modificar consulta en Microsoft Query" y dale a "Finalizar". Pulsa sobre el botón "SQL", y verás la consulta SQL. En la ventana que aparece es donde tendrías que añadir TOP 1 después de la palabra "SELECT". Termina con "Aceptar", y dale también a "Aceptar" en el mensaje que sale avisando de que "no es posible presentar gráficamente una consulta SQL". Si funciona bien (debería aparecer tan solo el último registro), puedes almacenar la consulta en la hoja activa desde Archivo->Devolver datos a Microsoft Excel.

(No sé si las ventanas de MS Query se llamarán exactamente igual en Excel 97. Ahora mismo estoy trabajando en Excel 2000)

Respecto a lo de la fecha, debería ser posible extraer tan sólo los registros que tengan la misma fecha que la del sistema, pero sería necesario saber cómo se almacenan las fechas en la tabla. Normalmente las fechas se almacenan como un número cuya parte entera representa el día y la parte decimal, la hora, pero yo he visto algún caso en que se almacenaban como una cadena de texto.
Un saludo.


Fernando Arroyo
MS MVP - Excel

"Eg" escribió en el mensaje news:063a01c37779$c9afddc0$
Antetodo muchas gracias por tu ayuda.

No me es posible modificar los datos origen de la manera
que me comentas ya que vienen de un programa de gestión,
no de SQL. Lo que hago es desde Excel iniciar el asistente
para tablas dinámicas y traer toda la tabla con todos los
datos que necesito para filtrarlos luego en el Query.
Como me comentas efectivamente en esa tabla hay un
contador que sería la fecha; así que creo que será más
fácil que me muestre los registros con fecha de hoy, pero,
como no quiero estar cambiando la fecha cada día, por eso
quiero que coja siempre la fecha del sistema como te he
comentado o filtrar simpre por la fecha más alta.
He probado lo que me comentas de la fecha pero no consiguo
si funcione. No sé si puedes echarme una mano.
Gracias por tu tiempo.

Preguntas similares