Fórum localização #163366

29/05/2003

0

if edit1.Text=´´ then exit;
dm.nf.Locate(´fornecedor´,edit1.text,[lopartialkey]);

O que está errado no codigo acima:

Tenho um DBgrid com dados e quero a partir de edit, permitir ao usuário localizar dos dados por fornecedor.


Luc2403

Luc2403

Responder

Posts

29/05/2003

Luciano Pimenta®

Adicione o locaseinsensitive (não tenho certeza se escrev assim), no parametro do locate:

dm.nf.Locate(´fornecedor´,edit1.text,[lopartialkey,[b:3f2d09a5ef]locaseinsensitive[/b:3f2d09a5ef]]);


Responder

Gostei + 0

29/05/2003

Luc2403

não deu certo...


Responder

Gostei + 0

30/05/2003

Sandra

:idea:

A propriedade DataSource do DBGrid está ligada ao DataSource da sua tabela?

:?:


Responder

Gostei + 0

30/05/2003

Luc2403

Sim, está...

:idea: A propriedade DataSource do DBGrid está ligada ao DataSource da sua tabela? :?:



Responder

Gostei + 0

31/05/2003

Sandra

if edit1.Text=´´ then exit; dm.nf.Locate(´fornecedor´,edit1.text,[lopartialkey]); O que está errado no codigo acima: Tenho um DBgrid com dados e quero a partir de edit, permitir ao usuário localizar dos dados por fornecedor.


Luc2403,

Acho que descobri o que está acontecendo. Faça assim:

if edit1.Text=´´ then
  exit
else
  dm.nf.Locate(´fornecedor´,edit1.text,[loCaseInsensitive, loPartialKey]);


Será que agora resolve?

Para facilitar a visualização e o entendimento da estrutura If..Then...Else, utilize sempre desta maneira:

If <teste> Then
  <seu comando>  //não se esqueça de colocar begin/end caso tenha mais de um comando
Else
  <seu comando>;  //também o begin/end caso tenha mais de um


Boa sorte!!


:wink:


Responder

Gostei + 0

31/05/2003

Luc2403

Nao deu certo. Ainda nao agrupou os dados iguais.

[quote:f9cebf3d26=´luc2403´]if edit1.Text=´´ then exit; dm.nf.Locate(´fornecedor´,edit1.text,[lopartialkey]); O que está errado no codigo acima: Tenho um DBgrid com dados e quero a partir de edit, permitir ao usuário localizar dos dados por fornecedor.


Luc2403,

Acho que descobri o que está acontecendo. Faça assim:

if edit1.Text=´´ then
  exit
else
  dm.nf.Locate(´fornecedor´,edit1.text,[loCaseInsensitive, loPartialKey]);


Será que agora resolve?

Para facilitar a visualização e o entendimento da estrutura If..Then...Else, utilize sempre desta maneira:

If <teste> Then
  <seu comando>  //não se esqueça de colocar begin/end caso tenha mais de um comando
Else
  <seu comando>;  //também o begin/end caso tenha mais de um


Boa sorte!!


:wink:[/quote:f9cebf3d26]


Responder

Gostei + 0

31/05/2003

Salupe

em vez de table ligue o dbgrid a uma query e faça a pesquisa assim:

query1.Sql.Clear;
Query1.Sql.Add(´Select * from nf where fornecedor = ´´+Edit1.Text+´´´);
Query1.Open;

execute isso cada vez que quiser atualizar o grid e pronto.


Responder

Gostei + 0

31/05/2003

Luc2403

Está dando erro:

Não foi possivel encontrar o arquivo C;\utilitarios\Projetos\Controle\dm.mdb

em vez de table ligue o dbgrid a uma query e faça a pesquisa assim: query1.Sql.Clear; Query1.Sql.Add(´Select * from nf where fornecedor = ´´+Edit1.Text+´´´); Query1.Open; execute isso cada vez que quiser atualizar o grid e pronto.



Responder

Gostei + 0

31/05/2003

Salupe

coloque a query no próprio form do dbgrid, sem precisar utilizar um data module, só não esqueça de fechar a query quando fechar a form.


Responder

Gostei + 0

31/05/2003

Luc2403

Continua o mesmo erro.
Nao foi possivel encontrar o arquivo c:\utilitarios\projetos\controle\dm.mdb

coloque a query no próprio form do dbgrid, sem precisar utilizar um data module, só não esqueça de fechar a query quando fechar a form.



Responder

Gostei + 0

31/05/2003

Salupe

você está indicando o database name corretamente, ou seja, indicando onde está este seu arquivo dm.mdb, aliás ele está nesta pasta


Responder

Gostei + 0

31/05/2003

Luc2403

Para falar a verdade, o nome da minha base é - bd - e está localizado na pasta c:\utilitarios\projetos\controle.
dm é o nome do meu datamodule.

você está indicando o database name corretamente, ou seja, indicando onde está este seu arquivo dm.mdb, aliás ele está nesta pasta



Responder

Gostei + 0

31/05/2003

Salupe

a query estando no form do dbgrid você nao precisa indicar o data module, indique somente a pasta da base ou o nome do alias na propriedade do database name


Responder

Gostei + 0

31/05/2003

Luc2403

Desculpa amigo, mas como sou iniciante total de Delphi sinceramente - ao meu ver - está tudo certo, mas não agrupa os dados.
Gostaria que se possivel vc me fornecesse o seu e-mail para que eu mandasse um copia do meu projeto para que vc pudesse dar uma olhada.




a query estando no form do dbgrid você nao precisa indicar o data module, indique somente a pasta da base ou o nome do alias na propriedade do database name



Responder

Gostei + 0

31/05/2003

Salupe

sandrolp@bol.com.br


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar