Microsoft Access – Determinar si un formulario está abierto

Os traigo una función que nos va a permitir comprobar si el formulario que le pasamos como parámetro está abierto. Para ello vamos a utilizar la colección Forms que contiene todos los formularios abiertos en la base de datos. Lo que hacemos es enumerar todos los que están abiertos mediante un bucle For-Next y vamos comprobando uno por uno si el que le hemos pasado como parámetro coincide con el nombre de alguno de ellos.

Sin más preámbulo veamos la función:

Function FormularioAbierto(strNombreFormulario As String) As Integer
‘Esta función devuelve verdadero si hay un formulario abierto
Dim i As Integer
‘Suponiendo que sea falso
FormularioAbierto = False
For i = 0 To Forms.Count – 1
If Forms(i).Name = strNombreFormulario Then
FormularioAbierto = True
Exit Function
End If
Next
End Function

Para probar nuestra función tenemos un formulario llamado “frmClientes” y otro formulario desde el que vamos a comprobar si tenemos abierto “frmClientes”.

Access, Comprobar si un formulario esté abierto.

En nuestro formulario de comprobación solo necesitamos un botón que hemos llamado “cmdComprobarFormularioAbierto” y cuyo código será tan sencillo como:

Private Sub cmdComprobarFormularioAbierto_Click()
If FormularioAbierto(«frmClientes») = True Then
Call MsgBox(«El formulario está abierto», vbInformation, «Información»)
Else
Call MsgBox(«El formulario está cerrado», vbCritical, «Información»)
End If
End Sub

Al pulsar el botón llamamos a nuestra función y le pasamos el nombre del formulario: FormularioAbierto(«frmClientes»)  y en función de lo que nos devuelva mostramos un mensaje u otro.

Desarrollador de software para pequeña y mediana empresa con más de veinte años de experiencia.

2 comentarios

  1. hola saludo; tu aporte es muy bueno, por casualidad tienes el codigo vba access o otro metodo en accesss para que detecte el lector de codigo de barra y lea los articulos con sus etiquetas. gracias de antemano….

    1. No necesitas nada en Access para ello. Los lectores se comportan como un teclado que introduce todos los números de golpe allí donde tengas el cursor puesto.

      Todo lo más que necesitas es que tu sistema operativo lo reconozca y para ello seguramente traerá los drivers el propio lector.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.