Hola !!!
Tengo dos datetimepickers, el de fecha inicial y el de fecha final.
Cómo puedo hacer para que la fecha inicial no sea superior a la fecha final, o la fecha final no sea inferior a la fecha inicial?
Gracias
| |||
fecha ini y fecha final con datetimepickers Hola !!! Tengo dos datetimepickers, el de fecha inicial y el de fecha final. Cómo puedo hacer para que la fecha inicial no sea superior a la fecha final, o la fecha final no sea inferior a la fecha inicial? Gracias |
| |||
Respuesta: fecha ini y fecha final con datetimepickers Bueno, se puede hacer razonablemente directo: Cada vez que cambie el Value del fechaIni, se lo asignas al MinDate del fechaFin, y cada vez que cambie el Value del FechaFin, se lo asignas al MaxDate del frchaIni. No lo he probado, pero si no me equivoco, con esto bastaría para mantener la fechaFin posterior a la FechaIni (puede que además haya que validar el Value del control al que se le cambia el Max o el Min, pero se podría hacer de una vez aprovechando que el DateTime es IComparable, no se necesitaría comparar por separado el año, mes y dia). O de forma mas tradicional: creamos dicha funcion y se la asignamos a un boton como primera opcion a verificar
Código:
el siguiente codigo es el que irá en el botonPublic Function checkDateTimePickers() As Boolean If Me.dtpFechaInicial.Value.Year <> Me.dtpFechaFinal.Value.Year Then MsgBox("Debes seleccionar el año natural." & Chr(13) & "Por ejemplo : Desde Enero del 99 hasta Diciembre del 99.") checkDateTimePickers = False Else If Me.dtpFechaInicial.Value > Me.dtpFechaFinal.Value Then MsgBox("La fecha inicial no puede ser mayor que la final!!!", MsgBoxStyle.Exclamation, "Orange") checkDateTimePickers = False Else checkDateTimePickers = True End If End If
Código:
No he puesto el else al if ya que son los casos en que la funciónif checkDateTimePickers() then ' todo va bien, procedemos a hacer las consultas en la BD end if checkDateTimePickers me muestra el error. Espero les sirva! |