border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

  #1 (permalink)  
Antiguo 02-05-2008, 07:22:12
cMr cMr is offline
Buena Participación en el Foro
 
Registrado: feb 2008
Posts: 60
cMr Valoración +2
Predeterminado Validaciones de fechas?

Buenas brothers, tengo una duda, esque tengo en un textbox le fecha del sistema con la función Date, pero al momento de quererla guardar o procesar..., si el mes es de 30 días y le pongo 31, me truena el programa, como puedo hacer para que el mes de enero solamente acepte 31 días, para febrero 28 días y asi, o que solución puede haber para esto?

Saludos!:;
Responder Con Cita
  #2 (permalink)  
Antiguo 02-05-2008, 09:12:29
Gran Participación en el Foro
 
Registrado: nov 2006
Ubicación: GALIZA
Posts: 193
susio24 Valoración +2
Contactar con susio24 a través de MSN
Predeterminado Re: Validaciones de fechas?

Hola forer@
Create una funcion en la aplicacion que pasada la fecha la rompa en mes, dia y año y ahí según el mes vas comprobando el número máximo de día que admite ese mes y tirando el correspondiente mensaje de error si procede. Algo asi, muy por encima:

private function compruebafecha (fecha as string) as boolean
compruebafecha=true

'aqui divides la fecha en mes y dia

if mes=2 and dia > 28 then
msgbox error . . .
comruebafecha=false
else
...
end function

luego en el boton de guardar comrpuebas que el valor de compruebafecha sea true sino
sacas el mensaje que no se puede guardar con esos valores
Responder Con Cita
  #3 (permalink)  
Antiguo 02-05-2008, 13:32:58
Buena Participación en el Foro
 
Registrado: feb 2005
Ubicación: Detras de un monitor...
Posts: 78
lee-mon-shu-pao Valoración +2
Predeterminado Re: Validaciones de fechas?

Lo otro que puedes hacer es poner el dia primero del proximo mes y restarle un dia.
esto no falla.
__________________
---------------------
Ácido, pero vitamínico.

Maipú- Chile
Responder Con Cita
  #4 (permalink)  
Antiguo 02-05-2008, 18:07:06
cMr cMr is offline
Buena Participación en el Foro
 
Registrado: feb 2008
Posts: 60
cMr Valoración +2
Predeterminado Re: Validaciones de fechas?

A caray, la verdad que gracias por sus respuesta pero se me olvidó decirles que soy muy novato en vb, apenas llevo como 4 meses con el, y no tengo mucho conocimiento en el, si me pudieran mejor decir pasito a pasito como los niños de primaria ., xD!, que soy muy novato, o que funciones tengo que usar.

Saludos!;
Responder Con Cita
  #5 (permalink)  
Antiguo 02-05-2008, 19:52:09
Avatar de J.M.Movilla
Administrator
 
Registrado: dic 2002
Ubicación: BURGOS - ESPAÑA
Posts: 5.167
J.M.Movilla Valoración +2
Predeterminado Re: Validaciones de fechas?

También puedes montar una función para validar las fechas. La pones en un Módulo, tal que así:
Código:
Function ValeFecha(FecTxt As String) As Date
    Dim cDia As String
    
    On Local Error Resume Next
    If FecTxt <> "" Then
        cDia = Left(FecTxt, 2)
        While InStr(FecTxt, "-") > 0
            n = InStr(FecTxt, "-")
            FecTxt = Left(FecTxt, n - 1) & Mid(FecTxt, n + 1)
        Wend
        If Mid(FecTxt, 3, 1) <> "/" Then FecTxt = Left(FecTxt, 2) & "/" & Mid(FecTxt, 3)
        If Mid(FecTxt, 6, 1) <> "/" Then FecTxt = Left(FecTxt, 5) & "/" & Mid(FecTxt, 6)
        FecTxt = Left(FecTxt, 10)
        FecTxt = Format(FecTxt, "dd/mm/yyyy")
        Err = 0
        FecTxt = CDate(FecTxt)
        If Left(FecTxt, 2) <> cDia Or Err <> 0 Then
            x = MsgBox("¡¡¡ A T E N C I O N !!!" & Chr(10) & _
                Chr(10) & _
                "Compruebe el formato de esta fecha.", vbCritical)
            FecTxt = Null
        End If
    End If
    ValeFecha = FecTxt
End Function
Con esto puedes introducir una fecha poniendo simplemente "020508" y la función te devolverá "02/05/2008". Y si pones "31-02-2008" te dirá que "Compruebes el formato..."
Sólo tienes que poner en el evento "_LostFocus" del textbox las líneas
Código:
textbox1 = ValeFecha(textbox1)
if isnull(textbox1) then textbox1.SetFocus
__________________
José María Movilla Cuadrado
______________________

Visual Basic Videos Programacion Foro Programacion
Tutoriales Programacion Trucos Programacion Codigos Programacion
Responder Con Cita
  #6 (permalink)  
Antiguo 03-05-2008, 01:13:03
Avatar de seba123neo
Moderador
 
Registrado: nov 2007
Ubicación: Argentina
Posts: 349
seba123neo Valoración +2
Predeterminado Re: Validaciones de fechas?

Hola,¿y si usas el control MaskedBox que es para eso?,pero claro,es un control ocx mas al proyecto...

saludos.
__________________
Todos somos ignorantes; lo que pasa es que no todos ignoramos las mismas cosas - Albert Einstein
Responder Con Cita
  #7 (permalink)  
Antiguo 05-05-2008, 21:32:11
Un Nuevo Amigo
 
Registrado: ago 2006
Posts: 3
Carlos Molina Valoración +2
Predeterminado Re: Validaciones de fechas?

Cita:
Empezado por cMr Ver Mensaje
Buenas brothers, tengo una duda, esque tengo en un textbox le fecha del sistema con la función Date, pero al momento de quererla guardar o procesar..., si el mes es de 30 días y le pongo 31, me truena el programa, como puedo hacer para que el mes de enero solamente acepte 31 días, para febrero 28 días y asi, o que solución puede haber para esto?

Saludos!:;

Saludos, amigos. Para el problema de la fecha yo utilizo el siguiente procedimiento, espero te sirva, pero hay que colocarla en un Maskedbox.

Private Sub MaskEdBox1_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
FechaCorrecta = IsDate(MaskEdBox1)
If Not FechaCorrecta Then
MsgBox ("Por favor verifique la Fecha"), , "Fecha incorrecta"
MaskEdBox1.Text = "__/__/____"
MaskEdBox1.SetFocus
Else
DiferenciaFecha = DateDiff("d", MaskEdBox1, Date)
If DiferenciaFecha < 0 Then
MsgBox ("La fecha esta en el futuro"), , "Fecha incorrecta"
Else
MaskEdBox2.Text = Format(Date, "dd/mm/yyyy")
MaskEdBox2.SelStart = 0
MaskEdBox2.SelLength = Len(MaskEdBox2.Text)
MaskEdBox2.SetFocus
End If
End If
End If
End Sub
Responder Con Cita
  #8 (permalink)  
Antiguo 09-05-2008, 05:27:25
cMr cMr is offline
Buena Participación en el Foro
 
Registrado: feb 2008
Posts: 60
cMr Valoración +2
Predeterminado Re: Validaciones de fechas?

Jeje, muchas gracias brothers, y disculpa por no haberles contestado antes.
Gracias por su ayuda y sus respuestas.
Lo pude solucionar con un la simple función de IsDate(Text1), por lo que agarra si es fecha o no, y eso ya te hace todo, dentro de un if, todo se solucionó, pero de todos modos, muchas gracias, no cabe que les debo un gran agradecimiento en especial a J.M. Movilla, seba123neo y a susio24 por estarme apoyando en cada duda que tengo y gracias también a Carlos Molina por su respuesta.

Saludos!;
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado



La franja horaria es GMT. Ahora son las 17:20:19.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right