Acção de Macro ProcurarRegisto

Aplica-se A
Access para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Pode utilizar a ação de macro ProcurarRegisto em bases de dados de ambiente de trabalho do Access para procurar um registo específico numa tabela, consulta, formulário ou relatório.

Definição

A ação de macro ProcurarRegisto tem os seguintes argumentos.

Argumento de ação Descrição
Tipo de objeto Introduza ou selecione o tipo de objeto de base de dados em que está a procurar. Pode selecionar Tabela, Consulta, Formulário ou Relatório.
Nome do Objeto Introduza ou selecione o objeto específico que contém o registo a procurar. A lista pendente mostra todos os objetos de base de dados do tipo selecionado para o argumento Tipo de Objeto .
Gravar Especifique o ponto de partida e a direção da pesquisa.
  • Anterior: Procurar para trás a partir do registo atual.
  • Seguinte Pesquisar para a frente a partir do registo atual.
  • Primeiro: Procurar para a frente a partir do primeiro registo. Este é o valor predefinido para este argumento.
  • Último: Procurar para trás a partir do último registo.
Condição Where Introduza os critérios da pesquisa com a mesma sintaxe de uma cláusula WHERE de SQL, apenas sem a palavra "WHERE". Por exemplo:
Description = "Beverages"
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 que pretende procurar. Por exemplo, o seguinte critério irá procurar no campo Descrição o valor na caixa de texto denominada txtDescription no formulário denominado frmCategories. Tenha em atenção o sinal de igual (=) no início da expressão e a utilização de plicas (') em ambos os lados da referência da caixa de texto:
="Description = '" & Forms![frmCategories]![txtDescription] & "'"

Comentários

  • Nos casos em que mais do que um registo corresponde aos critérios no argumento Condição Where , os fatores seguintes determinam qual o registo encontrado:

    • A definição do argumento Record Consulte a tabela na secção Definições para obter mais informações sobre o argumento Registo .
    • A sequência de ordenação dos registos Por exemplo, se o argumento Gravar estiver definido como Primeiro, alterar a sequência de ordenação dos registos poderá alterar o registo encontrado.
  • O objeto especificado no argumento Nome do Objeto deve ser aberto antes que essa ação seja executada. Caso contrário, ocorre um erro.

  • Se os critérios no argumento Onde Condição não forem atendidos, nenhum erro ocorrerá e o foco permanecerá no registro atual.

  • Ao pesquisar o registo anterior ou seguinte, a pesquisa não "molda" quando chega ao fim dos dados. Se não existirem mais registos que correspondam aos critérios, não ocorrerá nenhum erro e o foco permanecerá no registo atual. Para confirmar que foi encontrada uma correspondência, pode introduzir uma condição para a ação seguinte e tornar a condição igual aos critérios no argumento Condição Where .

  • Para executar a ação ProcurarRegisto num módulo VBA, utilize o método ProcurarRegisto do objeto DoCmd .

  • A ação de macro ProcurarRegisto é semelhante à ação de macro LocalizarRegisto , mas ProcurarRegisto tem funcionalidades de pesquisa mais avançadas. A ação de macro LocalizarRegistro é usada principalmente para localizar cadeias de caracteres e duplica a funcionalidade da caixa de diálogo Localizar . A ação de macro ProcurarRegisto utiliza critérios que são mais parecidos com os de um filtro ou de uma consulta SQL. A seguinte lista demonstra algumas coisas que pode fazer com a ação de macro ProcurarRegisto :

    • Pode utilizar critérios complexos no argumento Condição Where , como, por exemplo

Descrição = "Bebidas" e CategoryID = 11

  • Pode fazer referência a campos que estão na origem de registos de um formulário ou relatório, mas que não são apresentados no formulário ou relatório. No exemplo anterior, nem DescriptionCategoryID têm de ser apresentados no formulário ou relatório para que os critérios funcionem.
  • Pode utilizar operadores lógicos como, por exemplo<, ,> E, OR e ENTRE. A ação LocalizarRegisto só corresponde a cadeias que sejam iguais, comecem com ou contenham a cadeia que está a ser procurada.

Exemplo

A macro seguinte abre primeiro a tabela Categorias ao utilizar a ação AbrirTabela . Em seguida, a macro utiliza a ação de macro ProcurarRegisto para localizar o primeiro registo na tabela em que o campo Descrição seja igual a "Bebidas".

Ação Argumentos
OpenTable Nome da tabela: Categorias
Vista: Folha de Dados
Modo de Dados: Editar
SearchForRecord Tipo de objeto: Tabela
Nome do objeto: Categorias
Registo: Primeiro
Onde Condição: Descrição = "Bebidas"