Aplica-se a
Objeto Form |
Objeto Report |
Determina a expressão de cadeia especificada pelo argumento AbrirArgs do método AbrirFormulário que abriu um formulário. Variante de leitura/escrita.
expressão.AbrirArgs
expressão Obrigatório. Uma expressão que devolve um dos objetos na lista Aplica-se A.
Observações
Esta propriedade está disponível apenas se utilizar uma macro ou código VBA (Visual Basic for Applications) com o método AbrirFormulário do objeto DoCmd. Esta definição de propriedade é só de leitura em todas as vistas.
Para utilizar a propriedade AbrirArgs, abra um formulário com o método AbrirFormulário do objeto DoCmd e defina o argumento AbrirArgs para a expressão de cadeia pretendida. A definição da propriedade AbrirArgs pode ser utilizada no código do formulário, tal como Abrir procedimento de evento. Também pode consultar a definição de propriedade numa macro, tal como uma macro Abrir ou uma expressão, tal como uma expressão que define a propriedade OrigemDoControlo para um controlo no formulário.
Por exemplo, imaginemos que o formulário que abre é uma lista de formulário contínuo de clientes. Se quiser que o foco vá para o registo de um cliente específico quando o formulário é aberto, pode definir a propriedade AbrirArgs para o nome do cliente e, em seguida, utilizar a ação LocalizarRegisto numa macro Abrir para mover o foco para o registo do cliente com o nome especificado.
Exemplo
O exemplo seguinte utiliza a propriedade AbrirArgs para abrir o formulário Employees no registo de um funcionário específico e demonstra como o método AbrirFormulário define a propriedade AbrirArgs. Pode executar este procedimento conforme adequado — por exemplo, quando o evento DepoisDeAtualizar ocorre numa caixa de diálogo personalizada utilizada para introduzir 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 seguinte utiliza o método FindFirst para localizar o funcionário nomeado na propriedade AbrirArgs.
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