Saltar al contenido

Interconexión y Configuración de Formularios

publicado

Saludos amigos 

Tengo un formulario (Fmrfechas) el cual debe aparecer una vez que haga Login en el Formulario (frmlogin) introduciendo un Usuario (TxtUSUARIO) y Clave (TxtCLAVE) para lo cual tengo esta macro que me funciona muy bien hasta ahora: 

Private Sub CmdACEPTAR_Click()
Call Module1.BotonAceptar
Fmrfechas.Show
End Sub

Sin embargo, cuando los campos Usuario (TxtUSUARIO) y la Clave (TxtCLAVE) estan vacíos o introduzco datos erróneos al hacer click en el Botón Aceptar (CmdACEPTAR) igual me aparece el formulario.

Pregunta 01: requiero me ayuden con los elementos que deberían agregársele a la macro para que sí y solo si cuando el Usuario (TxtUSUARIO) y la Clave (TxtCLAVE) sean correctos sea la única forma de que se muestre el formulario (Fmrfechas)

Una vez aparece el formulario (Fmrfechas) se deben digitar tres fechas especificas: Fecha de Nacimiento (TxtNACIMIENTO), Fecha de Ingreso (TxtINGRESO), y Fecha del (TxtACCIDENTE), para lo cual tengo esta macro que me funciona muy bien hasta ahora: 

Private Sub CmdREGISTRAR_Click()
If TxtNACIMIENTO.Value = "" Or TxtINGRESO.Value = "" Or TxtACCIDENTE.Value = "" Then
MsgBox ("Datos Incompletos: Faltan Campos por Llenar"), vbExclamation, 
Else
Range("D19").Offset.Select
ActiveCell.Offset(0, 0) = TxtNACIMIENTO.Value
ActiveCell.Offset(0, 2) = TxtINGRESO.Value
ActiveCell.Offset(0, 4) = TxtACCIDENTE.Value
TxtNACIMIENTO = ""
TxtINGRESO = ""
TxtACCIDENTE = ""
Unload Me
End If
End Sub

Private Sub UserForm_Initialize()
Me.TxtNACIMIENTO.SetFocus
End Sub

Sin embrago al desplazar el cursor mediante Tab o Enter pasa del campo (TxtNACIMIENTO) al campo Fecha del (TxtACCIDENTE) y de este al Botón Registrar (CmdREGISTRAR) sin pasar por el campo Fecha de Ingreso (TxtINGRESO), adicionalmente puedo introducir cualquier formato de fecha "d/m/yy", "d/mm/yy", "dd/mm//yy", "dd/mm/yyyy",  etc

Pregunta 02: requiero me ayuden con los elementos que deberían agregársele a la macro para que el cursor se desplace mediante Tab o Enter de forma secuencial por los tres campos en el siguiente orden Fecha de Nacimiento (TxtNACIMIENTO), Fecha de Ingreso (TxtINGRESO) y Fecha del (TxtACCIDENTE)

Pregunta 03: requiero me ayuden con los elementos que deberían agregársele a la macro para que única y exclusivamente admita en los campos Fecha de Nacimiento (TxtNACIMIENTO), Fecha de Ingreso (TxtINGRESO) y Fecha del (TxtACCIDENTE) del formulario (Fmrfechas) el formato estándar de fecha dd/mm/yyyy en los tres campos y en caso que se introduzca una fecha, valores, signos etc con otro formato aparezca un Msgbox ("Formato de Fecha No Admitido")

Pregunta 04: requiero me ayuden con los elementos que deberían agregársele a la macro para que una vez introducida la información con el formato de fecha admitido (dd/mm/yyyy) la macro evalué los campos Fecha de Nacimiento (TxtNACIMIENTO), Fecha de Ingreso (TxtINGRESO) y Fecha del (TxtACCIDENTE) y permita registrar la información al hacer click en el Botón Registrar (CmdREGISTRAR) si y solo si se cumplen las siguientes condiciones:

Fecha de Nacimiento (TxtNACIMIENTO) > Fecha de Ingreso (TxtINGRESO)

MsgBox ("Fecha Errónea: La Fecha de Nacimiento No Puede ser Mayor a la Fecha de Ingreso"), vbExclamation

Fecha de Nacimiento (TxtNACIMIENTO) < Fecha de Ingreso (TxtINGRESO)

MsgBox ("Fecha Errónea: La Fecha de Nacimiento No Puede ser Menor a la Fecha de Ingreso"), vbExclamation

Fecha de Nacimiento (TxtNACIMIENTO) = Fecha de Ingreso (TxtINGRESO)

MsgBox ("Fecha Errónea: La Fecha de Nacimiento No Puede ser Igual a la Fecha de Ingreso"), vbExclamation

Fecha de Nacimiento (TxtNACIMIENTO) > Fecha del (TxtACCIDENTE)

MsgBox ("Fecha Errónea: La Fecha de Nacimiento No Puede ser Mayor a la Fecha del Accidente"), vbExclamation

Fecha de Nacimiento (TxtNACIMIENTO) < Fecha del (TxtACCIDENTE)

MsgBox ("Fecha Errónea: La Fecha de Nacimiento No Puede ser Menor a la Fecha del Accidente"), vbExclamation

Fecha de Nacimiento (TxtNACIMIENTO) = Fecha del (TxtACCIDENTE)

MsgBox ("Fecha Errónea: La Fecha de Nacimiento No Puede ser Igual a la Fecha de Ingreso"), vbExclamation

 Fecha de Ingreso (TxtINGRESO) > Fecha del (TxtACCIDENTE)

MsgBox ("Fecha Errónea: La Fecha de Ingreso No Puede ser Mayor a la Fecha del Accidente"), vbExclamation

Fecha de Ingreso (TxtINGRESO) < Fecha del (TxtACCIDENTE)

MsgBox ("Fecha Errónea: La Fecha de Ingreso No Puede ser Menor a la Fecha del Accidente"), vbExclamation

Mucho les sabre agradecer la ayuda que me puedan brindar

 

Featured Replies

publicado
  • Autor

Infinitamente agradecido 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.