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.
|
| 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
DescriptionCategoryIDtê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" |