Problema con propiedades de algunos objetos en un formulario Access
Llevo varios días trabajando en una aplicación Access para el control de varias actividades. Y he llegado a un punto en el que no puedo avanzar.
Hay un formulario de login al entrar en la página con la siguiente estructura:

Al apretar el botón Enter corre el siguiente código (esta escrita en un modulo distinto para poder guardar la variable "category" para futuros usos):
Public category as string
Public Sub Category_User()
Dim pass As String
If Nz(Form_Login.TxtUser, "") = "" Then
MsgBox "User Field empty, please, enter USER", vbInformation, "USER"
Form_Login.TxtUser.SetFocus
ElseIf Nz(Form_Login.TxtPASSWORD, "") = "" Then
MsgBox "Password Field empty, please, enter PASSWORD", vbInformation, "PASSWORD"
Form_Login.TxtPASSWORD.SetFocus
Else
' Encontrar la contraseña en la tabla USERS
If Nz(DLookup("[Password]", "[Users]", "USER='" & Form_Login![TxtUser] &"'"), "") <> "" Then
pass = DLookup("Password", "Users", "USER='" & Form_Login![TxtUser] &"'")
End If
'Comprobamos que la contraseña sea valida
If pass <> Form_Login.TxtPASSWORD Then
MsgBox "Wrong Password, try again", vbCritical, "OK"
Else
category = DLookup("[Category]", "[Users]", "User='" & Form_Login![TxtUser] & "'")
MsgBox (category)
If category = 1 Then
Call Button_Enabled
ElseIf category = 2 Then
Call Button_Enabled
Else
Call Button_Disabled
End If
DoCmd.OpenForm "Excursions"
End SubLas rutinas Button_Enabled y Button_Disabled tienen el siguiente codigo:
Public Sub Button_Enabled() Form_Escape_in_Blue_Wednesday.Button_Add_Comment.Enabled = True Form_Escape_in_Blue_Wednesday.Button_Block.Enabled = True Form_Escape_in_Blue_Wednesday.Button_Unblock.Enabled = True End Sub _____________________________________________________________ Public Sub Button_Disabled() Form_Escape_in_Blue_Wednesday.Button_Add_Comment.Enabled = False Form_Escape_in_Blue_Wednesday.Button_Block.Enabled = False Form_Escape_in_Blue_Wednesday.Button_Unblock.Enabled = False End Sub
Esto funciona a la perfeccion. Se me abre el formulario "Excursions" y todo parece funcionar de maravilla. Pero desde este mismo formulario "Excursions" accedo al formulario "Escape_in_Blue_Wednesday" apretando un boton
Public Sub Open_Wednesday() DoCmd.OpenForm "escape_in_blue_wednesday" End Sub
Y El problema es que cuando abro el formulario "Escape_in_Blue_Wednesday" con dicho boton, parece que no se aplican los cambios que habia pedido en el Sub Category_User. Pero cierro el formulario, lo vuelvo abrir con el mismo boton y funciona. Parece que no funciona solo la primera vez que abro el formulario.
Incluso he aplicado otra rutina manteniendo la variable "category" para que al abrir el formulario "escape_in_blue_wednesday" vuelva a comprobar el valor de dicha variable, y dependiendo de cual sea el valor habilite o deshabilite ciertos botones del formulario, y más de lo mismo. Ninguno de los botones de dicho formulario cambia con la primera apertura. Siempre tengo que cerrar el formulario, volverlo a abrir y entonces funciona a la perfección.
No considero lo opción de crear una macro que abra, cierre y vuelva a abrir el formulario. No lo he probado, pero no es una solución.
He probado con el Macro builder y más de lo mismo. He puesto msgbox en el código para saber que mantiene las variables y todo va bien. El único problema es que tengo que cerrar y volver a abrir el formulario y no entiendo por que.
¿Alguna idea?

