Compartilhar via


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.

Setting

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.

Setting

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,

'Description = "Beverages"'

Para criar um critério que inclua um valor de uma caixa de texto em um formulário, você deve 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 pesquisar. 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 configuração do argumento RecordConsulte a tabela na seção Configurações para obter mais informações sobre o argumento Record .

    • A ordem de classificação dos registrosPor exemplo, se o argumento Record for definido como Primeiro, alterar a ordem de classificação dos registros poderá alterar qual registro é 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 Description nem CategoryID devem ser exibidos no formulário ou no 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:Exibição de Categorias: Modo DatasheetData: Editar

SearchForRecord

Tipo de objeto: TableObject Name: CategoriesRecord: FirstWhere Condition: Description = "Beverages"