Pregunta: | 15299 - NúMERO DE SEMANA DEL AñO |
Autor: | Luis Sanz Lucas |
Hola:
Me gustaría saber si existe alguna función de saber el número de semana en al que está un día determinado, o sea, yo le paso una fecha en el formato que sea y me devuelve el número de semana dentro del año. Muchas gracias. |
Respuesta: | Pablo Coatl |
Que tal Luis, hace un año aproximadamente estaba buscando lo mismo.
Para resolver el problema utilize codigo SQL de Access 97(realizado mediante una consulta) y asi obtener el numero de semana del año. El único inconveniente es que debes crear una pequeña base de datos donde almecenes la fecha de inicio de la semana Uno. El codigo SQL es el siguiente: 'En este ejemplo la Base de DAtos se llama "CONTROL", en ella hay una tabla llamada "Configuracion" 'Esta tabla contiene los campos: 'Fecha Inicial' de tipo Fecha 'Semana Actual' de tipo Numerico, puede ser Byte 'En tu formulario debes tener un Control DTPicker (de preferencia) o en su defecto utilizar un MaskEditBox 'Un boton de Comando 'Un control Data private sub command1_click() Dim arc as Database Dim rs as Recordset set arc=opendatabase(app.path & "\Control.mdb") 'app.path puedes cambiarlo por la ruta de la base de datos 'en caso de que utilices un mask edit control sustituye dtpicker1 por MaskEdBox1 set rs=arc.openreceordset("SELECT Int((#" & format(DtPicker1.value,"mm/dd/yyyy) & "# -[Configuracion]![Fecha Inicial])/7)+1 AS Semana" _ & " FROM Configuracion;") if rs.recordcount>0 then msgbox "La semana es: " & rs(0) end if rs.close arc.close set arc=nothing end sub Solo obtendras las semanas del año que hayas configurado en tu base de datos control, en caso de que coloques fechas menores te dara semanas negativas, si es demasiado superior te dara semanas mayores a 52 o 53 Espero que te sirva este control. Saludos |