Compartilhar via


Método Form.SetFocus (Access)

O método SetFocus move o foco para o formulário especificado, para o controle especificado no formulário ativo ou para o campo especificado na folha de dados ativa.

Sintaxe

expressão. Setfocus

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

Comentários

Use o método SetFocus quando quiser que um determinado campo ou controle tenha o foco para que toda a entrada do usuário seja direcionada a esse objeto.

Para ler algumas das propriedades de um controle, você precisa garantir que o controle tenha o foco. Por exemplo, uma caixa de texto deve ter o foco antes que possa ler sua propriedade Text.

Outras propriedades podem ser definidas somente quando um controle não tem o foco. Por exemplo, você não pode definir propriedades de um controle visível ou Enabled como False (0) quando que o controle tem o foco.

Você também pode usar o método SetFocus para navegar em um formulário de acordo com certas condições. Por exemplo, se o usuário selecionar não aplicável para a primeira de um conjunto de perguntas em um formulário que seja um questionário, seu código Visual Basic pode então automaticamente pule as perguntas dessa série e mover o foco para o primeiro controle no próximo conjunto de perguntas.

Você pode mover o foco somente para um controle ou formulário visível. Um formulário e controles em um formulário não ficam visíveis até que o evento Load do formulário terminou. Portanto, se você usar o método SetFocus no evento Load de um formulário para mover o foco para esse formulário, você deve usar o método Repaint antes que o método SetFocus.

Você não pode mover o foco para um controle se sua propriedade Enabled for definida como False. Você deve definir a propriedade Habilitada de um controle como True (1) antes de poder mover o foco para esse controle. No entanto, você pode mover o foco para um controle se sua propriedade Locked estiver definida como True.

Se um formulário contiver controles para os quais a propriedade Enabled é definida como True, você não pode mover o foco para o próprio formulário. Você só pode mover o foco para controles no formulário. Nesse caso, se você tentar usar SetFocus para mover o foco para um formulário, o foco é definido para o controle no formulário que recebeu pela última vez o foco.

Use o método SetFocus para mover o foco para um subforma, que é um tipo de controle. Você também pode mover o foco para um controle em um subformulário usando o método SetFocus duas vezes, movendo o foco primeiro para o subformulário e depois para o controle no subformulário.

Exemplo

O exemplo a seguir usa o método SetFocus para mover o foco para uma caixa de texto EmployeeID em um formulário Employees .

Forms!Employees!EmployeeID.SetFocus

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.