Cleverson Honório Gouvêa Postado Novembro 22, 2006 Denunciar Share Postado Novembro 22, 2006 Por exemplo eu uso um Form e faço o Seguinte, na propiedade DblClick do BDGrid usoFrm_Incluir.ed_nome.Text:=Table1NOME.Value;Frm_Incluir.ed_endereco.text:=Table1ENDERECO.value;Frm_Incluir.ed_telefone.text:=Table1TELEFONE.value;Frm_Incluir.ed_celular.Text:=Table1CELULAR.value;Frm_Clientes.Close;Para que os dados que estão sendo vizualizados passem diretamente pro Form de Cadastro, já que o Cliente já possui um Cadastro!!!Porém o meu DBGrid fica cheio de nomes Repetidos pois eu não posso usar a Query para fazer:With Query1 dobeginclose;sql.clear;sql.add('order by NOME Asc');open;end;Aí como eu fico??? O Query faz o que eu quero? Que a Table está fazendo facinho, facinho???A Table faz o que o Query faz??? Pois preciso dos dois!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Novembro 23, 2006 Denunciar Share Postado Novembro 23, 2006 Porém o meu DBGrid fica cheio de nomes Repetidos pois eu não posso usar a Query para fazer:With Query1 dobeginclose;sql.clear;sql.add('order by NOME Asc');open;end;Aí como eu fico??? O Query faz o que eu quero? Que a Table está fazendo facinho, facinho???Cleverson, descupe mas não entendi. Parece que falta algo nesta sua query.E esse lance de nomes repetidos???Que banco de dados você utiliza?[]s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Cleverson Honório Gouvêa Postado Novembro 23, 2006 Autor Denunciar Share Postado Novembro 23, 2006 Me perdoe amigo, tenho me empolgado nas perguntas e as vezes elas perdem um pouco da clareza!!!Uso interbase, com uma Table e um DBGrid, só que no DBGrid os Registros iguais aparecem!!! EX:.Joaquim 3322-3344 99229922 Rua das CalhasJoaquim 3322-3344 99229922 Rua das CalhasJoaquim 3322-3344 99229922 Rua das CalhasJoaquim 3322-3344 99229922 Rua das CalhasBeatriz 4499-3345 3344-2344 Rua das laranjasBeatriz 4499-3345 3344-2344 Rua das laranjasBeatriz 4499-3345 3344-2344 Rua das laranjasA minha table tem como index o código!!!Queria que quando iguais fossem mostrados apenas um deles ('Se possivel em ordem alfabética')!!! EX:.Beatriz 4499-3345 3344-2344 Rua das laranjasJoaquim 3322-3344 99229922 Rua das CalhasLuzia 3554-4456 6965154 Rua das FeiasPois esse DBGrid serve justamente para adiantar o precesso de Cadastro, ao clicar nesses dados o Formulário de inclusão já recebe automáticamente os Dados, inserindo apenas um novo Código ao mesmo!!!Com a Query acho que cheguei a conseguir fazer com que os dados não se repetissem, não me lembro se foi com esse código, pois até hoje não entendo muito bem desses comandos SQL, o que me traz dificuldades para Trabalhar com as Query`s! Porém, não consegui fazer com que os dados fossem adicionados automáticamente ao Formuçário de inclusão entende? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Novembro 24, 2006 Denunciar Share Postado Novembro 24, 2006 Uso interbase, com uma Table e um DBGrid, só que no DBGrid os Registros iguais aparecem!!! EX:.Joaquim 3322-3344 99229922 Rua das CalhasJoaquim 3322-3344 99229922 Rua das CalhasJoaquim 3322-3344 99229922 Rua das CalhasJoaquim 3322-3344 99229922 Rua das CalhasBeatriz 4499-3345 3344-2344 Rua das laranjasBeatriz 4499-3345 3344-2344 Rua das laranjasBeatriz 4499-3345 3344-2344 Rua das laranjasCleverson, se esses dados vem de uma TTable, então significa que as informações dos clientes ficam duplicadas mesmo. Certo?! Se for, a menos que seja proposital, parece que há um problema de modelagem (normalização dos dados - Wikipedia), já que usualmente não devemos duplicar este tipo de informação.A minha table tem como index o código!!!Queria que quando iguais fossem mostrados apenas um deles ('Se possivel em ordem alfabética')!!! EX:.Pelo que coloquei acima, para listar apenas uma ocorrência do registro de cliente, você teria mesmo que utilizar uma query com distinct, lembrando que qualquer campo em seu select que possa estar diferente para o mesmo cliente, resultará numa linha extra e, neste caso, ainda resultaria em mais que uma ocorrência do mesmo cliente. A questão, da ordenação alfabética, em termos do uso de um TTable, seria resolvido pela criação de um índice por nome. Já utilizando uma query, basta adicioná-la na cláusula ORDER BY.Pois esse DBGrid serve justamente para adiantar o precesso de Cadastro, ao clicar nesses dados o Formulário de inclusão já recebe automáticamente os Dados, inserindo apenas um novo Código ao mesmo!!!Levando em conta a questão da normalização, acredito que isto não seria necessário.Com a Query acho que cheguei a conseguir fazer com que os dados não se repetissem, não me lembro se foi com esse código, pois até hoje não entendo muito bem desses comandos SQL, o que me traz dificuldades para Trabalhar com as Query`s!você pode procurar por alguns tutoriais na net. Dê uma olhada em Apostilando, Edu Delphi Page (Veja apostilas).um exemplo de select com distinct seria:SELECT distinct NOME, FONE1, FONE2, ENDERECOFROM CLIENTEORDER BY NOMElevando em conta o comentário que fiz no início do post[]s Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Cleverson Honório Gouvêa
Por exemplo eu uso um Form e faço o Seguinte, na propiedade DblClick do BDGrid uso
Frm_Incluir.ed_nome.Text:=Table1NOME.Value;
Frm_Incluir.ed_endereco.text:=Table1ENDERECO.value;
Frm_Incluir.ed_telefone.text:=Table1TELEFONE.value;
Frm_Incluir.ed_celular.Text:=Table1CELULAR.value;
Frm_Clientes.Close;
Para que os dados que estão sendo vizualizados passem diretamente pro Form de Cadastro, já que o Cliente já possui um Cadastro!!!
Porém o meu DBGrid fica cheio de nomes Repetidos pois eu não posso usar a Query para fazer:
With Query1 do
begin
close;
sql.clear;
sql.add('order by NOME Asc');
open;
end;
Aí como eu fico??? O Query faz o que eu quero? Que a Table está fazendo facinho, facinho???
A Table faz o que o Query faz??? Pois preciso dos dois!!!
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.