** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Fecha limitar entrada
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoFecha limitar entrada

 Responder Responder
Autor
Mensaje
nehuen.101110 Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 11/Febrero/2017
Localización: Entre rios
Estado: Sin conexión
Puntos: 20
Enlace directo a este mensaje Tema: Fecha limitar entrada
    Enviado: 12/Mayo/2020 a las 23:43
Hola estoy queriendo limitar los ingresos de datos en un campo fecha quiero que el usuario solo pueda ingresar fechas del mes anterior al mes en curso ni mas ni menos.
El tema es que no encuentro forma de realizarlo algun ejm de donde pueda desarrolar el codigo?
Arriba
jilo Ver desplegable
Colaborador
Colaborador


Unido: 19/Diciembre/2004
Localización: TAFALLA
Estado: Sin conexión
Puntos: 959
Enlace directo a este mensaje Enviado: 13/Mayo/2020 a las 06:33
Hola,

Pues en un principio yo lo haría para que introdujese sólo el día. el mes y el año ya lo pongo yoWink.

Espero te sirva !!!!!!
Iñaki
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 3062
Enlace directo a este mensaje Enviado: 13/Mayo/2020 a las 10:40
Pues creo que asi podria valer, por lo que he probado. Aun asi creo que habria alguna forma mas "facil" de hacerlo, pero la neurona no me da para mas.
En el evento despues de actualizar del campo fecha

Private Sub Fecha_AfterUpdate()

Dim varMes As Integer
Dim varAño As Integer
varMes = Month(Date)    'Sacamos el numero del mes
varAño = Year(Date)
'Para hacer pruebas con otro año y justo al ingresar el el enero del siguiente
             'mes-dia-año en formasto americano vba
'varMes = Month(#1/1/2021#)      'Sacamos el numero del mes
'varAño = Year(#1/1/2021#)

'MsgBox varMes & "-" & varAño

If Month(Me.Fecha) >= varMes And Year(Me.Fecha) >= varAño Then
MsgBox "Fecha incorrecta, solo del mes inferior al actual."
Me.Undo 'No deshace el cambio
Else
MsgBox "Fecha correcta"
End If





End Sub


Editado por rokoko - 13/Mayo/2020 a las 10:40
Arriba
emiliove Ver desplegable
Administrador
Administrador


Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 5694
Enlace directo a este mensaje Enviado: 13/Mayo/2020 a las 15:27
Otra forma: Usando el evento al salir para utilizar Cancel

Private Sub Nombrecontrol_Exit(Cancel As Integer)
If  Nombrecontrol< DateSerial(Year(Date), Month(Date) - 1, 1) Or  Nombrecontrol> DateSerial(Year(Date), Month(Date) + 1, 0) Then
MsgBox "Fecha no valida"
Cancel = True
End If
End Sub

Saludos.
Arriba
Dabellaso Ver desplegable
Asiduo
Asiduo


Unido: 18/Noviembre/2012
Localización: España
Estado: Sin conexión
Puntos: 338
Enlace directo a este mensaje Enviado: 13/Mayo/2020 a las 22:47
También valdría una expresión como regla de validación

Mes([MiControlConFecha])=Mes(Fecha())-1

Añadiendo el año:

Mes([MiControlConFecha])=Mes(Fecha())-1 Y Año([MiControlConFecha])=Año(Fecha())

Mirandolo un poco, acabo de ver que con el año, seguramente en enero no te deje introducir ninguna fecha



Editado por Dabellaso - 13/Mayo/2020 a las 23:11
El saber no ocupa lugar, sólo tiempo
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable