Compartilhar via


Propriedade Form.OpenArgs (Access)

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

Sintaxe

expressão. Openargs

expressão Uma variável que representa um objeto Form.

Comentários

Essa propriedade só está disponível usando uma macro ou usando o Visual Basic com o método OpenForm do objeto DoCmd . A configuração dessa propriedade é somente leitura em todos os modos de exibição.

Para usar a propriedade OpenArgs, abra um formulário usando o método OpenForm do objeto DoCmd e defina o argumento OpenArgs para a expressão de cadeia de caracteres desejada. A configuração da propriedade OpenArgs pode então ser utilizada no código do formulário, como em um procedimento de evento Open. Você também pode se referir à configuração da propriedade em uma macro, tais 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 aberto seja uma lista de formulário contínuo de clientes. Se quiser que o foco se mova para um registro de cliente específico quando o formulário for aberto, defina a propriedade OpenArgs para o nome do cliente e, em seguida, use 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 o formulário Employees para um registro de funcionário específico e demonstra como o método OpenForm define a propriedade OpenArgs . Você pode executar esse procedimento conforme apropriado; por exemplo, quando o evento AfterUpdate ocorre para uma caixa de diálogo personalizada 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 exemplo a seguir mostra como usar a propriedade OpenArgs para impedir que um formulário seja aberto a partir do painel de navegação.

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

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.