Método DoCmd.SearchForRecord (Access)
Use o método SearchForRecord para pesquisar um registro específico em uma 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 | Variantes | 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 | Variantes | Uma cadeia de caracteres usada para localizar o registro. É como a cláusula WHERE em uma 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 usa critérios mais parecidos com os de um filtro ou de uma consulta SQL.
A lista a seguir demonstra algumas coisas que você pode fazer com o método SearchForRecord :
Use critérios complexos no argumento WhereCondition , como
Description = "Beverages" and CategoryID = 11
.Consulte campos que estão na fonte de registro de um formulário ou relatório, mas não são exibidos no formulário ou no relatório. No exemplo anterior, nem nem
Description
CategoryID
devem ser exibidos no formulário ou no relatório para que os critérios funcionem.Use 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.