Combo con fechas

pepe
30 de Enero del 2004
Hola tengo tres combos en un formulario que contienen el primero los dias de un mes, el segundo los meses y el tercero los años, y queria saber como puedo hacer para controlar al escoger una fecha con el combo, es decir evitar que si coges el dia 30 que no sea febrero o si seleccionas 31que no puedas escoger un mes que tenga solo 30 o menos días. Ademas queria saber como puedo hacer para saber cuando un año es bisiesto.
Gracias

Bartolom
30 de Enero del 2004
Usa mejor un DtPicker. Con ese control seleccionas la fecha inmediatamente y puedes enviarla a un TextBox, de la siguiente forma:

Con el evento click del DTPicker:

Text1.text=DTPicker.Value

Saludos!

en?
30 de Enero del 2004
hola,

Yo también te recomiendo el DTPicker, pero si forzosamente debes utilizar los tres combos, y que mejor si son un array de controles:

pones lo siguiente en el evento _Click del combo:

If Not IsNumeric(cbDia) Or cbMes = "" Or Not IsNumeric(cbAnyo) Then Exit Sub

While Not IsDate(cbDia & "/" & cbMes & "/" & cbAnyo)
cbDia.ListIndex = cbDia.ListIndex - 1
Wend
'irá restando un dia hasta obtener una fecha válida


y tu otra pregunta:
If AÑO Mod 4 = 0 Then 'si se cumple esto, es bisiesto.

Si puedes, haz caso a Bartolom; con el DTPicker es mucho mejor!!!.

Saludos

Bartolom
30 de Enero del 2004
Ah, se me olvidaba. El DtPicker lo obtienes de la lista de componentes (Menú Proyexcto, Componentes), se llama Microsoft Windows Common controls 2.

Para obtener los datos del DtPicker, se utiliza el evento Change del mismo, con las siguientes posibilidades:

Private Sub DTPicker1_Change()
Text1.Text = DTPicker1.Day ' Coloca el día en la caja de texto
Text2.Text = DTPicker1.Month ' Coloca el mes en la caja de texto

Text3.Text = DTPicker1.Year' Coloca el año en la caja de texto

Text4.Text = DTPicker1.Year ' Coloca la fecha en la caja de texto

End Sub