Así como dice el título, hoy me encontré en la necesidad de obtener el rango de fechas de una determinada semana, para lo cual quise hacer uso del control MonthCalendar de Visual Basic 2005, pero grande fue mi frustración al ver que no le encontraba como hacerlo, asi que me puse a buscar por nuestro bien llamado "san google" y poco fue lo que pude conseguir, o será talvez que no sé buscar?, pero bueno encontré algunos ejemplos donde le das un rango de fechas inicial y final, y te permite obtener la semana. Pero lo que yo necesito, y muchos como yo, según he leido en varios post en los foros, es que dando el número de semana, te permita recuperar el rango de fechas de esa semana.
Todo esto lo hacía sin problemas con vb6, pues hacía uso del control MonthView, el cual te permitía establecer la semana y año, con lo cual automáticamente te permitía obtener el rango de fechas de la semana que tu querías, pero en este control Monthcalendar no se puede hacer eso o no lo conozco muy bien?, alguien lo ha utilizado de esa manera?. Bueno, pero si de algo les sirve, pues les diré que luego de haberme liado un buen rato con este monthcalendar, opté por usar mi viejo monthview del vb6 en un formulario de Visual Basic 2005 y con un pequeñísimo cambio, todo parece estar funcionando.
Acá les dejo el código por si les sirve de algo.
Código en vb6
Dim vFinal As Date
Calendario.MultiSelect = False
Calendario.Year = CInt(TxtAnio.Text) 'Establezco el año que quiero
Calendario.Week = CInt(TxtSemana.Text) 'Establezco semana
Calendario.DayOfWeek = mvwMonday 'Estab. primer dia semana
Calendario.MultiSelect = True
Calendario.MaxSelCount = 7
vFinal = Calendario.SelStart + 6
Calendario.SelEnd = vFinal
TxtDesde.Text = Calendario.SelStart
TxtHasta.Text = Calendario.SelEnd
Código en VB2005
Dim vFinal As Date
oCalendario.MultiSelect = False
oCalendario.Year = CInt(TxtAnio.Text)
oCalendario.Week = CInt(TxtSemana.Text)
oCalendario.DayOfWeek = MSComCtl2.DayConstants.mvwMonday
oCalendario.MultiSelect = True
oCalendario.MaxSelCount = 7
vFinal = DateAdd(DateInterval.Day, 6, oCalendario.SelStart)
oCalendario.SelEnd = vFinal
TxtDesde.Text = oCalendario.SelStart
TxtHasta.Text = oCalendario.SelEnd
Debemos agregar a nuestra caja de herramientas el componente Microsoft MonthView que está la ficha COM Components.
Bueno, espero sirva de algo o alguien me indique como hacer eso mismo en MonthCalendar.
Saludos
Muy bueno, estoy tratando de hacer algo similar, tal vez sepas como.
ResponderEliminarLo que quiero hacer es imprimir en un listview o en un datagrid en una columna los numero de semana (1,2,3,etc) en otra columna FechaInicial, en otra FechaFinal , o sea tener un catalago.
Mi correo es jldm14@gmail.com, espero que me puedas ayudar estoy programando en vb6. Saludos
Gracias por visitar el blog y espero enviarte a tu mail un ejemplo que tengo y tambien espero subirlo, solo que de momento estoy con el tiempo al límite
ResponderEliminarSaludos cordiales
Que ta yo de nuevo, ya lo pude hacer wil muchas gracias, lo logre utilizando el montview y con el codigo que muestras en el ejemplo para vb6 , de todos modos gracias.
ResponderEliminar