Compartir a través de


Propiedad Form.OpenArgs (Access)

Determina la expresión de cadena especificada en el argumento OpenArgs del método OpenForm que abrió un formulario. Variante de lectura y escritura.

Sintaxis

expresión. OpenArgs

expresión Variable que representa un objeto Form.

Comentarios

Esta propiedad solo está disponible mediante una macro o mediante Visual Basic con el método OpenForm del objeto DoCmd . El valor de esta propiedad es de solo lectura en todas las vistas.

Para usar la propiedad OpenArgs , abra un formulario mediante el método OpenForm del objeto DoCmd y establezca el argumento OpenArgs en la expresión de cadena deseada. Luego puede usar el valor de la propiedad OpenArgs en el código del formulario, por ejemplo en un procedimiento de evento Open. También se puede hacer referencia a la propiedad en una macro, por ejemplo una macro Open, o en una expresión, por ejemplo una expresión que establezca la propiedad ControlSource de un control del formulario.

Por ejemplo, suponga que el formulario que abre es una lista de clientes de formulario continuo. Si quiere que el foco se mueva a un registro de cliente específico cuando se abra el formulario, puede establecer la propiedad OpenArgs en el nombre del cliente y usar luego la acción FindRecord en una macro Abrir para mover el foco al registro del cliente que tenga el nombre especificado.

Ejemplo:

En el ejemplo siguiente se usa la propiedad OpenArgs para abrir el formulario Employees en un registro de empleado específico y se muestra cómo el método OpenForm establece la propiedad OpenArgs . Puede ejecutar este procedimiento según corresponda; por ejemplo, cuando se produce el evento AfterUpdate para un cuadro de diálogo personalizado que se usa para escribir nueva información sobre un empleado.

Sub OpenToCallahan() 
    DoCmd.OpenForm "Employees", acNormal, , , acReadOnly, _ 
     , "Callahan" 
End Sub 
 
Sub Form_Open(Cancel As Integer) 
    Dim strEmployeeName As String 
    ' If OpenArgs property contains employee name, find 
    ' corresponding employee record and display it on form. For 
    ' example,if the OpenArgs property contains "Callahan", 
    ' move to first "Callahan" record. 
    strEmployeeName = Forms!Employees.OpenArgs 
    If Len(strEmployeeName) > 0 Then 
        DoCmd.GoToControl "LastName" 
        DoCmd.FindRecord strEmployeeName, , True, , True, , True 
    End If 
End Sub

En el ejemplo siguiente se muestra cómo usar la propiedad OpenArgs para evitar que un formulario se abra desde el panel de navegación.

Private Sub Form_Open(Cancel As Integer)

If Me.OpenArgs() <> "Valid User" Then
    MsgBox "You are not authorized to use this form!", _
        vbExclamation + vbOKOnly, "Invalid Access"
    Cancel = True
End If
End Sub

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.