Compartilhar via


Método Control.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 De controlo .

Valor de retorno

Nada

Comentários

Utilize o método SetFocus quando quiser que um determinado campo ou controlo tenha o foco para que todas as entradas de utilizador sejam direcionadas para este objeto.

Para ler algumas das propriedades de um controlo, tem de se certificar de que o controlo tem 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. Tem de definir a propriedade Ativado de um controlo como Verdadeiro (1) antes de poder mover o foco para esse controlo. 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.

Utilize o método SetFocus para mover o foco para um subformulário, que é um tipo de controlo. 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 seguinte utiliza o método SetFocus para mover o foco para uma caixa de texto EmployeeID num formulário Funcionários .

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.