Aplicável a
Objeto Form |
Objeto Report |
Determina o expressão de cadeia de caracteres especificado pelo argumento OpenArgs do método OpenForm que abriu um formulário. Variante de leitura/gravação.
expressão.OpenArgs
expressão Obrigatória. Uma expressão que retorna um dos objetos na lista Aplica-se a.
Comentários
Essa propriedade só está disponível usando um macro ou usando o código Visual Basic for Applications (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 configure o argumento OpenArgs para a expressão de cadeia de caracteres desejada. As configurações da propriedade OpenArgs pode ser usada no código para o formulário, como em um Open procedimento do evento. Você também pode referir-se à configuração da 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 vá para um registro de cliente específico quando o formulário abrir, defina a propriedade OpenArgs como o nome do cliente e 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 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