
03/01/2009, 08:11
|
| | Fecha de Ingreso: enero-2009
Mensajes: 4
Antigüedad: 16 años, 4 meses Puntos: 0 | |
Respuesta: Un par de preguntas relacionadas con las fechas... Buenos días:
Para poder ver algo con una fecha anterior, lo mejor es manejar la fecha desde ASP y anexárselo a la consulta, en vez de pedirle al gestor de base de datos que lo haga.
Para ello existe la función DATEADD que puedes ver bien explicada acá: http://www.w3schools.com/Vbscript/func_dateadd.asp
Por ejemplo:
sql = " SELECT * FROM noticias WHERE fecha =#" & DATEADD("d",1,now()) & "#"
Lo del # depende de la base de datos que uses, claro.
Para la segunda pregunta, tal cual lo quieres, la agrupación se hace a través de código ASP. Lo que puedes hacer es ordenar la consulta por fecha y para cada registro de la base de datos que leas, comprobar si la fecha del último registro leído es diferente a la del siguiente. Si son diferentes, le pones el encabezado correspondiente. Como ejemplo espero que te sirva esto.
Si quieres agrupar, por ejemplo por mes y año, podrías hacer algo así:
La consulta te quedaría:
sql = " SELECT *, datepart('m',fecha) & '-' & datepart('y',fecha) as fechaformato FROM noticias ORDER BY fecha
la parte de la sentencia entre datepart y as fechaformato lo que hace es que en cada registro te añade un campo llamado fechaformato que te da el mes y el año de la fecha. Así es más fácil la comparación posterior.
Y en el código lees el campo fechaformato y lo almacenas. Al cambiar de registro, debes comparar fechaformato que tienes almacenado con el que tiene el nuevo registro. Si son diferentes, escribes la cabecera del mes. Si son iguales, no haces nada. Después, sea cual sea el caso, escribes el campo.
Espero que esto te sirva de ayuda. Seguro que hay más formas de hacerlo, pero ésta me pareció sencilla.
Un saludo |