OpenArgs (propiedad)

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 obligatoria. Una expresión que devuelve uno de los objetos de la lista Se aplica a.

Observaciones

Esta propiedad está disponible únicamente 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 que quiera. Después, se puede usar el valor de la propiedad OpenArgs en código para el formulario (por ejemplo, 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 para 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 desplace a un registro específico de cliente 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
Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Únase a los participantes de Office Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×