Propriedade OpenArgs

Aplica-se a
Access para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Aplicável a

Objeto Form
Objeto Report

Determina a expressão de cadeia de caracteres especificada pelo argumento OpenArgs do método OpenForm que abriu um formulário. Variante de leitura/gravação.

expressão.OpenArgs

Expressão Necessário. Uma expressão que retorna um dos objetos na lista Aplica-se a.

Comentários

Essa propriedade só está disponível usando uma macro ou usando Visual Basic for Applications código (VBA) com o método OpenForm do objeto DoCmd. Essa configuração de propriedade é somente leitura em todas as exibições.

Para usar a propriedade OpenArgs , abra um formulário usando o método OpenForm do objeto DoCmd e defina o argumento OpenArgs como a expressão de cadeia de caracteres desejada. A configuração da propriedade OpenArgs pode ser usada em código para o formulário, como em um procedimento de evento Open. Você também pode se referir à configuração de propriedade em uma macro, como uma macro Open ou uma expressão, como uma expressão que define a propriedade ControlSource para um controle no formulário.

Por exemplo, suponha que o formulário que você abre seja uma lista de clientes em formulário contínuo. Se você quiser que o foco se mova para um registro de cliente específico quando o formulário for aberto, você poderá definir a propriedade OpenArgs para o nome do cliente e, em seguida, usar a ação FindRecord em uma macro Open para mover o foco para o registro do cliente com o nome especificado.

Exemplo

O exemplo a seguir usa a propriedade OpenArgs para abrir um formulário de funcionário para um registro de funcionário específico e demostra como o método OpenForm define a propriedade OpenArgs. Você pode executar este procedimento conforme for apropriado, por exemplo, quando o evento AfterUpdate ocorrer para uma caixa de diálogo usada para inserir novas informações sobre um funcionário.

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

O próximo exemplo usa o método FindFirst para localizar o funcionário nomeado na propriedade 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