Compartilhar via


Método DoCmd.SearchForRecord (Access)

Utilize o método SearchForRecord para procurar um registo específico numa tabela, consulta, formulário ou relatório.

Sintaxe

expressão. SearchForRecord (ObjectType, ObjectName, Record, WhereCondition)

expression Uma variável que representa um objeto DoCmd.

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
ObjectType Optional AcDataObjectType Uma constante AcDataObjectType que especifica o tipo de objeto do banco de dados no qual você está pesquisando. O valor padrão é acActiveDataObject.
ObjectName Opcional Variant O nome do objeto do banco de dados que contém o registro pesquisado.
Record Opcional AcRecord Uma constante AcRecord que especifica o ponto de partida e a direção da pesquisa. O valor padrão é acFirst.
WhereCondition Opcional Variant Uma cadeia de caracteres usada para localizar o registro. É como a cláusula WHERE numa instrução SQL, mas sem a palavra WHERE.

Comentários

Quando mais de um registro satisfizerem os critérios do argumento WhereCondition, os seguintes fatores determinarão o registro a ser localizado:

  • A configuração do argumento Record.

  • A ordem de classificação dos registros. Por exemplo, se o argumento Record estiver definido como acFirst, alterar a ordem de classificação dos registros poderá alterar o registro localizado.

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

Se os critérios do argumento WhereCondition 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 WhereCondition.

O método SearchForRecord é semelhante ao método FindRecord, mas SearchForRecord tem recursos de pesquisa mais avançados. O método FindRecord é usado principalmente para localizar cadeias de caracteres e ele duplica a funcionalidade da caixa de diálogo Localizar. O método SearchForRecord utiliza critérios mais semelhantes aos de um filtro ou de uma consulta SQL.

A lista seguinte demonstra algumas coisas que pode fazer com o método SearchForRecord :

  • Utilize critérios complexos no argumento WhereCondition , como Description = "Beverages" and CategoryID = 11.

  • Veja os 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 nem DescriptionCategoryID devem ser apresentados no formulário ou relatório para que os critérios funcionem.

  • Utilize operadores lógicos, como <, >, AND, OR e BETWEEN. O método FindRecord localiza apenas cadeias de caracteres que sejam iguais a, comecem com ou contenham a cadeia pesquisada.

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.