Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

pimpa

Problema em pesquisar BD

Recommended Posts

Boa tarde pessoal,

 

Comecei a pouco tempo mexer com Delphi, e estou tentando fazer um pequeno BD, até agora esta indo bem, mas estou com um pequeno problema.

Eu tenho o formulario todo certinho como podem ver

 

Imagem Postada

 

Quando eu faço a pesquisa, ele acha o nome, porem se tiver mais que um pessoa com o msm nome, ele nao mostra. Por exemplo: eu digito ali Marcos e clico Pesquisar, ele vai para a pagina no cadastro da pessoa chamada Marcos, mas se tiver mais que um Marcos, simplesmente nao mostra, nem se eu ficar apertando repetidamente o botao Pesquisar. (botao pesquisar eh o BitBtn1).

 

Eu uso Paradox com um Table, e a forma de pesquisa eh Locate:

 

Table1.Locate('Comprador',Edit2.Text,[ loCaseInsensitive, loPartialKey]);

 

 

Gostaria que me ajudassem da seguinte forma: conforme eu vá clicando no botao, ele vai pulando pros outros 'Marcos'.

 

Obrigado,

Pimpa

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deveria funcionar certinho ... eu sempre faço assim e funciona:

 

ADOTable1.Open;ADOTable1.Locate('NOMECLIENTE',Edit1.Text, [loPartialKey]);

O DataSource ta apontando pra tabela correta ???? Verifique isso ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

@RodrigoSim, o DS esta apontando para a tabela, tentei do jeitinho q ta ai, e nao deu certo =(ele acha um "Marcos", porem se tem mais de um, nao acontece nada ;[obrigado desde ja

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta usar FindNearest

 

Se permite sugerir, a interface do seu soft tá meio confusa. Talvez fosse indicado usar um componente de tab (em abas). O componente tabbed notebook (win 3.1) do delphi serve pra isso.

Bem, é apenas sugestão, por favor não se sinta ofendido. :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Samth

 

Imagina cara, vlw pela sugestao nao sabia qual era o componente que fazia abas, essa sugestao veiu em otima hora, vou refazer essa interface agora!

 

 

Sobre o topico, com o comando FindNearest da pra escolher em qual campo da tabela ele ira procurar?

 

por exemplo se eu quero pesquisar o nome do Comprador eu uso

 

Table1.Locate('Comprador',Edit2.Text,[ loCaseInsensitive, loPartialKey]);

 

vlw flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq ao invez de locate nao usa um fitro que você vizualiza TUDO que iniciar com uma letra por exemplo...

 

with Table1 do

Begin

filtered:=false;

filter:='''+edit1.text+'*''';

filtered:=false;

End;

 

 

adapte esse exemplo para seu caso onde Table1 é sua tabela e edit1 é o campo de pesquisa.

 

 

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde galera o comando que uso é

 

If not DM.TBcadastro.locate('cad_nome',loc_cadastro.edit1.text,[]) then

 

 

 

OBS: DM 'seria um data module'

cad_nome 'em qual coluna procurar'

loc_cadastro.edit1.tex 'onde encontra-se o que vai procurar'

 

 

Espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Samth

 

Imagina cara, vlw pela sugestao nao sabia qual era o componente que fazia abas, essa sugestao veiu em otima hora, vou refazer essa interface agora!

 

 

Sobre o topico, com o comando FindNearest da pra escolher em qual campo da tabela ele ira procurar?

 

por exemplo se eu quero pesquisar o nome do Comprador eu uso

 

Table1.Locate('Comprador',Edit2.Text,[ loCaseInsensitive, loPartialKey]);

 

vlw flw

Legal, depois posta aí a interface nova!

 

Infelizmente nesse comando não tem como especificar o campo, ele serve para fazer uma busca geral. Talvez você devesse tentar fazer a busca em sql.

Pra falar a verdade não me lembro do locate ter essa função de clicar e ele ir para o próximo encontrado, principalmente se você está procurando em ordem alfabética (numa tabela com índice, pelo campo comprador).

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.