OpenArgs (propiedad)

Se aplica a
Access para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Se aplica a

Objeto Form
Objeto Report

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

expresión.OpenArgs

expresión Obligatorio. Una expresión que devuelve uno de los objetos de la lista Se aplica a.

Comentarios

Esta propiedad solo está disponible mediante una macro o código de Visual Basic para Aplicaciones (VBA) 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. Después, se puede usar el valor de la propiedad OpenArgs en código para el formulario, como en un procedimiento de evento Open. También puede hacer referencia al valor de la propiedad en una macro, como una macro Open o una expresión, como una expresión que establece la propiedad ControlSource de un control del formulario.

Por ejemplo, supongamos que el formulario abierto es una lista de formulario continuo de clientes. 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, después, usar la acción FindRecord en una macro Open para mover el foco al registro del cliente con el nombre especificado.

Ejemplo

En el siguiente ejemplo se usa la propiedad OpenArgs para abrir el formulario Empleados por un registro de empleado específico y se muestra cómo establece el método OpenForm 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 información nueva 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 usa el método FindFirst para localizar el empleado especificado en la propiedad OpenArgs.

Private Sub Form_Open(Cancel As Integer)
    If Not IsNull(Me.OpenArgs) Then
        Dim strEmployeeName As String
        strEmployeeName = Me.OpenArgs
        Dim RS As DAO.Recordset
        Set RS = Me.RecordsetClone
        RS.FindFirst "LastName = '" & _
            strEmployeeName & "'"
        If Not RS.NoMatch Then
            Me.Bookmark = RS.Bookmark
        End If
    End If
End Sub