Puede ser que ya tengas tu formulario abierto (como se sugiere), pero solo busca nulo y el formulario manejará la apertura con argumentos perdidos también.
Esto permitirá abrir el formulario para una rápida ojeada (por usted o los usuarios) si los argumentos no son vitales.
Private Sub Form_Open(Cancel As Integer)
If Not IsNull(Me.OpenArgs) Then
Me.lblHeading.Caption = Me.OpenArgs
End If
End Sub
Un valor nulo se puede pasar a AbrirArgs omitiendo el valor de la llamada AbrirFormulario, o haciendo doble clic en el formulario en el acceso a los objetos de la barra lateral.
Si se trata de una forma modal, usted debe comprobar de forma explícita si está abierto y cerrarla antes de abrirlo si es así. Este es un gotcha común.
Lo mismo podría hacerse por supuesto para todas las formas, no solo para las modales, y entonces no necesitaría la verificación nula (siempre que nunca le pase nulo). Pero a menudo hay muchas formas en un proyecto, e incluso más llamadas OpenForm que formularios ...
+1, porque permite una funcionalidad similar a OpenArgs con instrucciones que no permiten OpenArgs (por ejemplo, DoCmd.OutputTo). Por otro lado, esto es seguramente problemático en una base de datos compartida, y sospecho que no funcionará con un MDE. –
Perdón por la votación negativa, pero pensé que esto no estaba solucionando el problema. –