Calculo de registros por semana dando el numero de sem

Me tope con el siguiente problema,
si deseo hablar a ese query pero que solo me muestre los registros de la semana 30,
En el botón del formyulario tengo este código:
docmd.openreport "defectosporsemana" , acViewPreview, , "[NumSemana] =" & text0
y asi quedo mi query para el reporte
SELECT DatePart('ww',[fecha_in],2) AS NumSemana, piezasdefectos.no_parte, piezasdefectos.fecha_in, piezasdefectos.num_piezas
FROM partes INNER JOIN piezasdefectos ON partes.no_parte = piezasdefectos.no_parte;
Pero al mandarle hablar, en lugar me mostrarme en el campo NumSemana el numero de la semana me pone una fecha como esta 1/29/1900 y 1/30/1900,
Como le hago para que me muestre solo el numero de semana y no la fecha de 1900, por que los registrso que me muestra si coindiden con la semana

1 respuesta

Respuesta
1
Es una cuestión de formato, le estás dando formato de fecha al número 30. Access almacena el valor de la fecha como un doble, y le da el formato fecha que quieras, pero realmente trabaja con un número. Casi seguro que el control donde muestras el número de la semana tiene formato de fecha mm/dd/aaaa
El cero es el uno de enero de 1900, entonces 30, es lógicamente el día 30/01/1900, formato mm/dd/aaaa, eso es lo que ves: 1/30/1900
Haz las pruebas en Excel y lo verás más claro, luego sólo has de darle el formato que desees.
Por ejemplo, si quieres el número de semana, tendrás que trabajarlo como cadena de texto, mediante el número de semana tal y como lo haces y la función year(fecha)
es decir DatePart('ww',[fecha_in],2) & '-' & year([fecha_in])

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas