Hola, tengo una aplicacion en la que le he incorporado un calendario, todo
va ok, pero
en los años que tienen 54 semanas ( al menos algun dia en dicha semana )
ej, 1984
y cada 28 años, no consigo obtener el valor 54 con la funcion WEEK().
Si probais el siguiente codigo, vereis lo que os comento.
* ****************************************************************
* prueba para dererminar las distintas semenas de fin de año
* ojo en los años con 54 semanas, falla ( solo da 53 )
LOCAL nAño,dFecha,nWeek
CREATE cursor semanas ( ;
fecha d, ;
;
semana02 n(2), ;
semana12 n(2), ;
semana22 n(2), ;
semana32 n(2), ;
;
semana01 n(2), ;
semana11 n(2), ;
semana21 n(2), ;
semana31 n(2), ;
;
semana03 n(2), ;
semana13 n(2), ;
semana23 n(2), ;
semana33 n(2), ;
;
semana04 n(2), ;
semana14 n(2), ;
semana24 n(2), ;
semana34 n(2), ;
;
semana05 n(2), ;
semana15 n(2), ;
semana25 n(2), ;
semana35 n(2), ;
;
semana06 n(2), ;
semana16 n(2), ;
semana26 n(2), ;
semana36 n(2), ;
;
semana07 n(2), ;
semana17 n(2), ;
semana27 n(2), ;
semana37 n(2) )
FOR i = 1900 TO 2300
MiDate = DATE(i,12,31)
INSERT INTO semanas VALUES (;
DATE(i,12,31), ;
;
WEEK(MiDate,0,2), ;
WEEK(MiDate,1,2), ;
WEEK(MiDate,2,2), ;
WEEK(MiDate,3,2), ;
;
WEEK(MiDate,0,1), ;
WEEK(MiDate,1,1), ;
WEEK(MiDate,2,1), ;
WEEK(MiDate,3,1), ;
;
WEEK(MiDate,0,3), ;
WEEK(MiDate,1,3), ;
WEEK(MiDate,2,3), ;
WEEK(MiDate,3,3), ;
;
WEEK(MiDate,0,4), ;
WEEK(MiDate,1,4), ;
WEEK(MiDate,2,4), ;
WEEK(MiDate,3,4), ;
;
WEEK(MiDate,0,5), ;
WEEK(MiDate,1,5), ;
WEEK(MiDate,2,5), ;
WEEK(MiDate,3,5), ;
;
WEEK(MiDate,0,6), ;
WEEK(MiDate,1,6), ;
WEEK(MiDate,2,6), ;
WEEK(MiDate,3,6), ;
;
WEEK(MiDate,0,7), ;
WEEK(MiDate,1,7), ;
WEEK(MiDate,2,7), ;
WEEK(MiDate,3,7) )
ENDFOR
SELECT semanas
GO top
BROWSE IN SCREEN TITLE 'semanas'
* *****************************************************************
¿ Podeis ayudarme ?
Desde ya, gracias.
Javier Amoros
XaaM
-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co
PortalFox - NNTP Forum Gatewa
Leer las respuestas