Você pode usar a ação macro SearchForRecord nos bancos de dados da área de trabalho do Access para pesquisar um registro específico em uma tabela, consulta, formulário ou relatório.
Configuração
A ação macro SearchForRecord tem os seguintes argumentos.
Argumento da ação |
Descrição |
||||||||||
Tipo de Objeto |
Insira ou selecione o tipo de objeto de banco de dados em que você está pesquisando. Você pode selecionar Tabela, Consulta, Formulário ou Relatório. |
||||||||||
Nome do Objeto |
Insira ou selecione o objeto específico que contém o registro a ser pesquisado. A lista suspensa mostra todos os objetos de banco de dados do tipo selecionado para o argumento Tipo de Objeto . |
||||||||||
Gravar |
Especifique o ponto de partida e a direção da pesquisa.
|
||||||||||
Onde condição |
Insira os critérios para a pesquisa usando a mesma sintaxe que uma cláusula SQL WHERE, somente 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 seguinte critério pesquisará no campo Descrição o valor na caixa de texto chamada txtDescription no formulário chamado frmCategories. Observe o sinal igual (=) no início da expressão e o uso de aspas individuais (') em ambos os lados da referência da caixa de texto: ="Description = '" & Forms![frmCategories]![txtDescription] & "'" |
Comentários
-
Nos casos em que mais de um registro corresponde aos critérios no argumento Where Condition , os seguintes fatores determinam qual registro é encontrado:
-
A configuração do argumento Record Consulte a tabela na seção Configurações para obter mais informações sobre o argumento Record .
-
A ordem de classificação dos registros Por 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 Nome do Objeto deve ser aberto antes que essa ação seja executada. Caso contrário, ocorrerá um erro.
-
Se os critérios no argumento Where Condition não forem atendidos, nenhum erro ocorrerá e o foco permanecerá no registro atual.
-
Ao pesquisar o registro anterior ou próximo, a pesquisa não "encapsula" quando chega ao final dos dados. Se não houver registros adicionais que correspondam aos critérios, nenhum erro ocorrerá 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 tornar a condição a mesma que os critérios no argumento Where Condition .
-
Para executar a ação SearchForRecord em um módulo VBA, use o método SearchForRecord do objeto DoCmd .
-
A ação macro SearchForRecord é semelhante à ação macro FindRecord, mas SearchForRecord tem recursos de pesquisa mais poderosos. A ação de macro FindRecord é usada principalmente para localizar cadeias de caracteres e duplica a funcionalidade da caixa de diálogo Localizar . A ação macro 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 a ação macro SearchForRecord :
-
Você pode usar critérios complexos no argumento Where Condition , como
-
Descrição = "Bebidas" e CategoryID = 11
-
Você pode se referir a 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 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 <, >, AND, OR e BETWEEN. A ação FindRecord corresponde apenas a cadeias de caracteres iguais, que começam ou contêm a cadeia de caracteres que está sendo pesquisada.
Exemplo
A macro a seguir abre primeiro a tabela Categorias usando a ação OpenTable . Em seguida, a macro usa a ação macro SearchForRecord para encontrar o primeiro registro na tabela em que o campo Descrição é igual a "Bebidas".
Ação |
Argumentos |
Opentable |
Nome da Tabela: Categorias Exibição: Datasheet Modo de Dados: Editar |
SearchForRecord |
Tipo de objeto: Tabela Nome do objeto: categorias Registro: Primeiro Em que condição: Descrição = "Bebidas" |