GD Access    GD Access    Grupo de Discussão  Ir para Categorias  Grupos técnicos  Ir para Fóruns  Access    Localizar registos (HELP MEEEE !!!!)
Go
Novo
Procurar
Notificar
Ferramentas
Responder
  
-star Rating Vote!  Login/Cadastrar 
<CM Portugal>
postado
Caros amigos:

É a 1ª vez que uso este fórum. Confesso que estou um pouco "desesperado", porque não tenho grande prática com o MS Access 2000...

Então é assim: Estou a criar uma base de dados para uma agência imobiliária e dividi o sistema em diferentes módulos (Imóveis, Clientes, Vendedores, Processos, etc...). Já tenho o sistema praticamente pronto, só me falta a inclusão de um sistema de pesquisa para que seja mais fácil à pessoa que vai utilizar a base de dados alterar registos já existentes ou procurar algo na base de dados.

Tomando como exemplo o módulo "Clientes", eu gostaria de criar um botão "Localizar", que quando se clicasse nele surgisse no ecrã uma "inputbox". Depois de colocarmos o texto a pesquisar na "inputbox" e carregarmos na tecla ENTER, o sistema procuraria nos campos do formulário pelo texto indicado e seriam mostrados os registos que contivessem os termos de pesquisa.

Por favor ajudem-me a fazer isto. Eu sozinho não consigo (já pesquisei no fórum e encontrei um código, mas não o consigo pôr a funcionar:

__________________

Dim rcsClone As Recordset, strCritério As String
Dim strPlaca As String
strPlaca = InputBox("Informe o texto a procurar")

If Len(strPlaca) = 0 Then Exit Sub

Set rcsClone = Me.RecordsetClone
strCritério = "Nome Like '*" & strPlaca & "*' Or Morada Like '*" & strPlaca & "*' Or BI Like '*" & strPlaca & "*' Or Contribuinte Like '*" & strPlaca & "*'"
rcsClone.FindFirst strCritério

If rcsClone.NoMatch Then MsgBox "Nenhum registo encontrado."

Else
Me.Bookmark = rcsClone.Bookmark

End If
__________________

Agradeço desde já a vossa ajuda.

Um abraço,
Luís Silvares
 
Reply With QuoteEditar ou Apagar MensagemReport This Post
Analista Sênior

postado Hide Post
Olá,

o único problema com seu código, a meu ver, é que como a linha

If rcsClone.NoMatch Then MsgBox "Nenhum registo encontrado."

possui uma ação após o then, o if é encerrado nesta mesma linha, não cabendo as linhas Else ... End if.

A construção correta é:

if Then [Else ]

ou

if Then

[Else
]
End If

Uma outrá dica é não criar desnecessariamente referências a objetos, como sua variável rscClone. Pode ser feito assim, usando os objetos já existentes:

With Me.Recordsetclone
.FindFirst strCritério
if .Nomatch Then
...
Else
Me.bookmark = .Bookmark
End if

Outro detalhe: Este código acima não irá filtrar, apenas posicionar o foco no primeiro registro que satisfaça o critério, não significando que os outros eventuais registros que satisfizessem a condição estariam na sequência. Se quiser filtrar, defina as propriedades Me.Filter igual ao critério e Me.FilterOn = True.

Mais um detalhe!
Como você usa o access 2000, verifique se há referência à biblioteca DAO. Não sei se RecordsetClone e FindFirst são compatíveis com ADO, padrão no 2000.

[ 14-08-2002: Mensagem editada por: Roberto Spier ]
 
Postagens: 1589 | Localização: Porto Alegre | Registrado: 03 April 2002Reply With QuoteEditar ou Apagar MensagemReport This Post
Programador Sênior

postado Hide Post
Caro CM Portugal

Verifique seu e-mail, mandei um exemplo de software para imobiliarias que desenvolvi recentemente.

Um abraço
Wellington Marinheiro
 
Postagens: 379 | Localização: Recife, PE, Brasil | Registrado: 28 September 2001Reply With QuoteEditar ou Apagar MensagemReport This Post
Programador Júnior

Figura de  JERRI GASPAR
postado Hide Post
Será que seria pedir muito se pedisse para me dandar uma cópia tbm...

Muito obrigado,


Jerri Gaspar
 
Postagens: 144 | Localização: SÃO PAULO | Registrado: 29 June 2001Reply With QuoteEditar ou Apagar MensagemReport This Post
 Tópico Anterior | Próximo Tópico Powered by Eve For Enterprise  
 

GD Access    GD Access    Grupo de Discussão  Ir para Categorias  Grupos técnicos  Ir para Fóruns  Access    Localizar registos (HELP MEEEE !!!!)

©