Ayuda con comparacion de campos fecha
Publicado por Victor Mauel (101 intervenciones) el 16/04/2007 21:11:37
Tengo el siguiente codigo en el evento Click de mi boton Guardar:
Private Sub CmdGuardar_Click()
On Error Resume Next
Dim RegistroNuevo As Variant
If IsNull(NumeroReporte) = True Then
MsgBox "Campo Numero de Reporte en blanco, imposible guardar", vbOKOnly, "Informacion necesaria"
ElseIf IsNull(Empresa) = True Then
MsgBox "Campo Empresa en blanco, imposible guardar", vbOKOnly, "Informacion necesaria"
ElseIf IsNull(Organizacion) = True Then
MsgBox "Campo Organizacion en blanco, imposible guardar", vbOKOnly, "Informacion necesaria"
ElseIf Int(FechaI) <= Int(FechaF) Then
MsgBox "La fecha inicial no puede ser igual o menor que la fecha final", vbOKOnly, "Verifica las fechas"
ElseIf IsNull(NoFactura) = True Then
MsgBox "Campo Numero de factura en blanco, imposible guardar", vbOKOnly, "Informacion necesaria"
Else
Set rst = New ADODB.Recordset
rst.Open "SELECT * From TablePrincipal Where Numero='" & NumeroReporte & "'", cnn, adOpenDynamic, adLockOptimistic
If rst.EOF Then rst.AddNew: RegistroNuevo = "Si"
rst!Numero = NumeroReporte
rst!Empresa = Empresa
rst!Organizacion = Organizacion
rst!Embarcacion = Embarcacion
rst!Descripcion = Descripcion
rst!FechaI = FechaI
rst!HoraI = HoraI
rst!FechaF = FechaF
rst!HoraF = HoraF
rst!NoFactura = NoFactura
rst!Anticipo = Anticipo
rst!Pagado = Pagado
rst!Notas = Notas
rst.Update
rst.Close: Set rst = Nothing
If RegistroNuevo = "Si" Then
MsgBox "El nuevo registro ha sido agregado", vbInformation, "Nuevo Registro"
LimpiaCampos
Else
MsgBox "Se han grabado los cambios efectuados", vbInformation, "Grabar Cambios"
LimpiaCampos
End If
End If
End Sub
En esta parte del codigo
ElseIf Int(FechaI) <= Int(FechaF) Then
MsgBox "La fecha inicial no puede ser igual o menor que la fecha final", vbOKOnly, "Verifica las fechas"
todo anda bien pero si le pongo fechas diferentes que la fecha final no sea menor que la fecha inicial me manda de todos modos el mensaje.
No entiendo porque me lo manda puesto que las fechas son diferentes y la fecha final es mayor que la fecha inicial, espero puedan ayudarme, que es lo que estoy haciendo mal, aunque no se si realmente se este cumpliendo esa condicion o si los DTPickers guardan un valor automatico que hae que me mande el mensaje.
Espero puedan ayudarme, Saludos.
Private Sub CmdGuardar_Click()
On Error Resume Next
Dim RegistroNuevo As Variant
If IsNull(NumeroReporte) = True Then
MsgBox "Campo Numero de Reporte en blanco, imposible guardar", vbOKOnly, "Informacion necesaria"
ElseIf IsNull(Empresa) = True Then
MsgBox "Campo Empresa en blanco, imposible guardar", vbOKOnly, "Informacion necesaria"
ElseIf IsNull(Organizacion) = True Then
MsgBox "Campo Organizacion en blanco, imposible guardar", vbOKOnly, "Informacion necesaria"
ElseIf Int(FechaI) <= Int(FechaF) Then
MsgBox "La fecha inicial no puede ser igual o menor que la fecha final", vbOKOnly, "Verifica las fechas"
ElseIf IsNull(NoFactura) = True Then
MsgBox "Campo Numero de factura en blanco, imposible guardar", vbOKOnly, "Informacion necesaria"
Else
Set rst = New ADODB.Recordset
rst.Open "SELECT * From TablePrincipal Where Numero='" & NumeroReporte & "'", cnn, adOpenDynamic, adLockOptimistic
If rst.EOF Then rst.AddNew: RegistroNuevo = "Si"
rst!Numero = NumeroReporte
rst!Empresa = Empresa
rst!Organizacion = Organizacion
rst!Embarcacion = Embarcacion
rst!Descripcion = Descripcion
rst!FechaI = FechaI
rst!HoraI = HoraI
rst!FechaF = FechaF
rst!HoraF = HoraF
rst!NoFactura = NoFactura
rst!Anticipo = Anticipo
rst!Pagado = Pagado
rst!Notas = Notas
rst.Update
rst.Close: Set rst = Nothing
If RegistroNuevo = "Si" Then
MsgBox "El nuevo registro ha sido agregado", vbInformation, "Nuevo Registro"
LimpiaCampos
Else
MsgBox "Se han grabado los cambios efectuados", vbInformation, "Grabar Cambios"
LimpiaCampos
End If
End If
End Sub
En esta parte del codigo
ElseIf Int(FechaI) <= Int(FechaF) Then
MsgBox "La fecha inicial no puede ser igual o menor que la fecha final", vbOKOnly, "Verifica las fechas"
todo anda bien pero si le pongo fechas diferentes que la fecha final no sea menor que la fecha inicial me manda de todos modos el mensaje.
No entiendo porque me lo manda puesto que las fechas son diferentes y la fecha final es mayor que la fecha inicial, espero puedan ayudarme, que es lo que estoy haciendo mal, aunque no se si realmente se este cumpliendo esa condicion o si los DTPickers guardan un valor automatico que hae que me mande el mensaje.
Espero puedan ayudarme, Saludos.
Valora esta pregunta
0