Ação da macro ProcurarRegistro

Aplica-se ao: Access 2013, Office 2013

Você pode usar a ação ProcurarRegistro para procurar um registro em uma tabela, consulta, formulário ou relatório específico.

Configuração

A ação ProcurarRegistro tem os seguintes argumentos.

Argumento da ação

Descrição

Tipo de Objeto

Digite ou selecione o tipo de objeto de banco de dados que você está procurando. É possível selecionar Tabela, Consulta, Formulário ou Relatório.

Nome do Objeto

Digite ou selecione o objeto específico que contenha o registro a ser pesquisado. A lista suspensa mostra todos os objetos de banco de dados do tipo selecionado pelo argumento Tipo de objeto.

Record

Especifique o ponto de início e a direção da pesquisa.

Configuração

Descrição

Previous

Pesquisa registros anteriores ao registro atual.

Next

Pesquisa registros posteriores ao registro atual.

Primeira

Pesquisa registros posteriores a partir do primeiro registro. Este é o valor padrão do argumento.

Último

Pesquisa registros anteriores a partir do último registro.

Condição Onde

Digite os critérios da pesquisa usando a mesma sintaxe de uma cláusula WHERE do SQL, mas sem a palavra "WHERE". Por exemplo,

"Descrição = "Bebidas""

Para criar um critério que inclua um valor de uma caixa de texto num formulário, tem de criar uma expressão que concatena a primeira parte do critério com o nome da caixa de texto que contém o valor para o qual pretende procurar. Por exemplo, o critério a seguir pesquisará o campo Descrição para obter o valor da caixa de texto nomeada txtDescrição, no formulário frmCategorias. Observe o sinal de igualdade (=) colocado no começo da expressão e o uso de aspas simples (') nos dois lados da referência de caixa de texto:

'="Description = ' " & Forms! [frmCategories]! [txtDescription] & "'""

Comentários

  • Quando mais de um registro satisfizer os critérios do argumento CondiçãoOnde, os seguintes fatores determinarão o registro a ser localizado:

    • A definição do argumento GravarConsulte a tabela na secção Definições para obter mais informações sobre o argumento Registo .

    • A sequência de ordenação dos registosPor exemplo, se o argumento Registo estiver definido como Primeiro, alterar a sequência de ordenação dos registos poderá alterar o registo encontrado.

  • O objeto especificado no argumento NomeDeObjeto deve ser aberto antes da execução dessa ação. Caso contrário, ocorrerá um erro.

  • Se os critérios do argumento CondiçãoOnde não forem satisfeitos, não ocorrerão erros e o foco permanecerá no registro atual.

  • Ao pesquisar o registro anterior ou o próximo, a pesquisa não será "concluída" quando alcançar o fim dos dados. Se não houver mais registros que atendam aos critérios, não ocorrerão erros e o foco permanecerá no registro atual. Para confirmar se uma correspondência foi encontrada, você pode inserir uma condição para a próxima ação e torná-la igual aos critérios do argumento CondiçãoOnde.

  • Para executar a ação ProcurarRegistro em um módulo do VBA, use o método SearchForRecord do objeto DoCmd.

  • A ação ProcurarRegistro é semelhante à ação EncontrarRegistro, mas ProcurarRegistro tem recursos de pesquisa mais avançados. A ação EncontrarRegistro é usada principalmente para localizar cadeias de caracteres, e ela duplica a funcionalidade da caixa de diálogo Localizar. A ação ProcurarRegistro usa critérios que são mais parecidos com os de um filtro ou de uma consulta SQL. A lista a seguir demonstra alguns procedimentos que você pode executar com a ação ProcurarRegistro:

    • É possível usar critérios complexos no argumento CondiçãoOnde; por exemplo:

      Description = "Beverages" and CategoryID = 11

    • É possível fazer referência a campos localizados na fonte de registros de um formulário ou relatório, mas que não são exibidos no formulário ou relatório. No exemplo anterior, nem a Descrição nem o CategoryID têm de ser apresentados no formulário ou relatório para que os critérios funcionem.

    • Você pode usar operadores lógicos, como <, >, E, OU e ENTRE. A ação EncontrarRegistro localiza somente cadeias de caracteres que sejam iguais a, comecem com ou contenham a cadeia pesquisada.

Exemplo

Esta macro primeiro abre a tabela Categorias usando a ação AbrirTabela. A macro então usa a ação ProcurarRegistro para localizar o primeiro registro da tabela em que o campo Descrição é igual a "Bebidas".

Ação

Argumentos

OpenTable

Nome da Tabela:Vista de Categorias: Folha de Dados Modo de Dados: Editar

SearchForRecord

Tipo de Objeto: Nome tableObject: CategoriasRegisto: Condição FirstWhere: Descrição = "Bebidas"