ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

pesquisa por nome [RESOLVIDO]

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
felipe.mello
Novato
Novato


Registrado: Domingo, 12 de Abril de 2015
Mensagens: 22

MensagemEnviada: Dom Abr 26, 2015 3:36 pm    Assunto: pesquisa por nome [RESOLVIDO] Responder com Citação

pessoal, ja olhei em varios topicos, inclusive daqui, mais nada me ajudou.

tenho um banco paradox com alguns registros. queria filtrar por nomes, pode ser por um botão ou pelo edit msm. só que gostaria que, ao digitar ou clicar no botão, só aparecesse no dbgrid o que foi pesquisado. tipo, pesquisei 'maria', tudo que nao fosse maria sumisse. pesquisei 'ma', tudo que nao tivesse ma sumisse. e se eu apagasse o que estivesse no edit, que voltassem todos os registros. e assim por diante.

estou tentando agora com esse codigo, ainda sem a opção de, se apagar o que esta no edit, todos os registros voltam:

banco.Table1.locate('NOME',edit1.Text,[lopartialkey,locaseinsensitive]);

ele até serve, consegue procurar, mais todos os dados continuam aparecendo. e fora que se tenho 2 marias no banco, ele só aponta para a primeira. apenas aponta para a 2º se digitar o sobrenome junto. não é mto pratico.

alguem tem alguma ideia? tentei varios outros codigos por botão, mais simplesmente nada é procurado. vc digita algo que esta no banco mais nao aponta. uso um datamodule chamado banco, com um table, um datasource e uma query (essa query uso para mostrar algumas estatisticas de dentro do banco de dados em outro form).


Editado pela última vez por felipe.mello em Sex Mai 15, 2015 11:44 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
felipe.mello
Novato
Novato


Registrado: Domingo, 12 de Abril de 2015
Mensagens: 22

MensagemEnviada: Dom Abr 26, 2015 3:44 pm    Assunto: Responder com Citação

quando digo que tentei outros codigos, nesse caso foi por sql. mais ai ja nao encontrava nada, nao apontava os registros. o unico que conseguiu apontar é esse atual, mais nao é mto pratico pelos motivos ja citados...
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
anderbelluno
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Novembro de 2011
Mensagens: 1030
Localização: Cianorte-PR

MensagemEnviada: Dom Abr 26, 2015 5:46 pm    Assunto: Responder com Citação

Pq vc usa Paradox??
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
felipe.mello
Novato
Novato


Registrado: Domingo, 12 de Abril de 2015
Mensagens: 22

MensagemEnviada: Dom Abr 26, 2015 6:13 pm    Assunto: Responder com Citação

anderbelluno escreveu:
Pq vc usa Paradox??


tentei usar o firebird, mais por varios erros tanto no delphi como no firebird que nunca consegui entender, desisti.

entao comecei a usar o paradox msm. para o projeto final, um programa basico de cadastro, consulta e impressao feito localmente, está de bom tamanho.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
anderbelluno
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Novembro de 2011
Mensagens: 1030
Localização: Cianorte-PR

MensagemEnviada: Seg Abr 27, 2015 1:26 am    Assunto: Responder com Citação

da uma olhada e ve se te ajuda:
http://www.linhadecodigo.com.br/artigo/714/delphi-realizando-consultas_pesquisas-iniciante.aspx

se nao funcionar usa um Tquery com um sql tipo assim:
Código:

select * from SUAtablea where NOME LIKE '+QuotedStr('%'+Edit1.Text'%')order by NOME;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
carbox
Colaborador
Colaborador


Registrado: Quarta-Feira, 3 de Março de 2010
Mensagens: 1471

MensagemEnviada: Seg Abr 27, 2015 7:54 am    Assunto: Responder com Citação

Bom dia!

Já imaginou se você desistisse diante da primeira dificuldade da vida?

O mesmo conceito de aprendizado aplicado ao PIRADOX cabe ao firebird, mysql, postgres, etc.

Adote um destes e não desista, estude e verás que vale a pena.

felipe.mello escreveu:
anderbelluno escreveu:
Pq vc usa Paradox??


tentei usar o firebird, mais por varios erros tanto no delphi como no firebird que nunca consegui entender, desisti.

entao comecei a usar o paradox msm. para o projeto final, um programa basico de cadastro, consulta e impressao feito localmente, está de bom tamanho.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
rogerioclaro2
Experiente
Experiente


Registrado: Quinta-Feira, 17 de Outubro de 2013
Mensagens: 404

MensagemEnviada: Seg Abr 27, 2015 8:28 am    Assunto: Responder com Citação

bom dia.. vc desistiu de usar firebird?? Dificuldade vai ter mesmo cara e normal. Não seu se vc esta iniciando ou migrando de linguagem como eu, mas dificuldades e erros vai ter mesmo heheh

bom sobre a pesquisa, eu faco assim, coloco o edit, e um button e na onclick do button faco assim:


Código:

    DMCidades.qcidade.Close;
    DMCidades.qcidade.Sql.Clear;
    DMCidades.qcidade.SQL.Add ('SELECT * FROM CIDADE WHERE UPPER(CIDNOME) LIKE ' + QuotedStr('%' + b1.Text + '%'));
    DMCidades.qcidade.Prepare;
    DMCidades.qcidade.open;


no meu caso uso firebird, e esse codigo um dos que uso em meu form.

Espero que te ajude.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
swbk
Novato
Novato


Registrado: Terça-Feira, 6 de Janeiro de 2015
Mensagens: 27

MensagemEnviada: Seg Abr 27, 2015 8:59 am    Assunto: Responder com Citação

Tente utilizar o filter:

Código:

DMCidades.qcidade.Filtered := False;
DMCidades.qcidade.Filter := 'CAMPO_NOME = '+''''+seuEdit.Text+'''';
DMCidades.qcidade.Filtered := True;


Para voltar todos os registros:

Código:

DMCidades.qcidade.Filtered := False;
DMCidades.qcidade.Filter := '';
DMCidades.qcidade.Filtered := True;


OBS: Se a busca é apenas pelo o que foi digitado utilize igualdade no SQL (=) caso seja tudo que contenha utilize o (LIKE).

Abs.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
felipe.mello
Novato
Novato


Registrado: Domingo, 12 de Abril de 2015
Mensagens: 22

MensagemEnviada: Seg Abr 27, 2015 1:04 pm    Assunto: Responder com Citação

tentarei mais tarde em casa alguns dos codigos que me passaram com calma. estava fazendo mais ou menos isso. realmente nao consigo entender o pq nao procura. e nao da um erro, simplesmente nao procura.

sei que o paradox nao é a melhor opção. mais para o que estou fazendo, até que me satisfaz. é um projeto simples. e como nao tinha mto tempo para perder, pois ja perdi mto, resolvi usa-lo.

mais tarde testo, estou no trabalho agora. obrigado a todos!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
anderbelluno
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Novembro de 2011
Mensagens: 1030
Localização: Cianorte-PR

MensagemEnviada: Seg Abr 27, 2015 1:14 pm    Assunto: Responder com Citação

felipe.mello escreveu:
tentarei mais tarde em casa alguns dos codigos que me passaram com calma. estava fazendo mais ou menos isso. realmente nao consigo entender o pq nao procura. e nao da um erro, simplesmente nao procura.

sei que o paradox nao é a melhor opção. mais para o que estou fazendo, até que me satisfaz. é um projeto simples. e como nao tinha mto tempo para perder, pois ja perdi mto, resolvi usa-lo.

mais tarde testo, estou no trabalho agora. obrigado a todos!

Amigo, não quis por em discussão sua escolha pelo paradox, mas como eu quando comecei a programar(e não sou em expert) delphi tbm tentei usar o paradox e tive problemas com chaves, duplicidade de registro entre outros erros que se continuo iremos até amanhã. Por isso hoje uso 99% Firebird.
Uma vez perguntei a um amigo qual a melhor linguagem de programação e ele me disse:"A melhor linguagem de programação é aquela que você admira, se sente parte, gosta e a conhece o bastante para dizer que você sabe programar!".
Abraços.
Anderson.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
felipe.mello
Novato
Novato


Registrado: Domingo, 12 de Abril de 2015
Mensagens: 22

MensagemEnviada: Seg Abr 27, 2015 6:57 pm    Assunto: Responder com Citação

consegui galera. nao era erro no meu codigo, nem no codigo que postaram e nos codigos da internet afora. simplesmente era no dbgrid e datasource.

a pesquisa era feita, mais nao mostrava pq o datasource estava apontado para o table1 (mostrando todos os registros) e nao para o query (mostrando a pesquisa), pois quando o programa abre, eu fiz para que ja mostrasse todos os registros na tabela, entao justamente apontando para o table1. a solução foi criar um novo datasource, esse apontado para a query e no botão de pesquisa colocar o dbgrid conectado ao novo datasource da query, só msm para mostrar os resultados pesquisados. ao apagar a pesquisa, o dbgrid volta a conectar ao antigo datasource do table1 mostrando todos os registros.

amigo anderson, esta tranquilo. quando disse desisti, disse apenas por agora, pois realmente nao tinha mto tempo para encontrar uma solução. provavelmente o erro é no delphi, talvez na compatibilidade, nao sei. deu erro até com o banco access. eram tantos erros que ficava inviavel procurar uma solução por agora. ai o paradox ta quebrando o galho. mais nao colocaria nunca o paradox num projeto profissional, sei de seu histórico, rs. obrigado pelas dicas, levo tudo como aprendizagem. e obrigado a todos os outros tbm!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB