Fórum Erro em consulta por Group By #213328

11/02/2004

0

Olá!!!

Utilizo os componentes de acesso ao banco de dados num dos datamodules:

SQLDataSetNome
DataSetProviderNome
ClientDataSetNome
DataSourceNome
SQLQueryNome

onde: Nome = nome da tabela.

Se eu passo para o CommandText do ClientDataSet:

consulta := ´Select * from Tabela WHERE df is null and empresa = ´+ sEmpresa[0] + ´ order by iditem´;

ClientDataSetNome.close;
ClientDataSetNome.CommandText := consulta;
ClientDataSetNome.open;

Tudo funciona corretamente.

Mas quando uso uma consulta um pouco mais avançada:

consulta := ´Select iditem, sum(qtd) from Tabela WHERE df is null and empresa = ´+ sEmpresa[0] + ´ Group by iditem´;

me retorna o erro:

SQLDataSetNome: Field ´LC´ not found´

LC é o campo chave da tabela.

O que deve ser? Alguma Propriedade dos componenentes?
No editor de campos do SQLDataSet e do ClientDataSet todos os campos estão listados.


Desde já, agradeço!!!!

José


[color=green:7659f6a49f][b:7659f6a49f]Título Editado por uso indevido de maiúsculas[/b:7659f6a49f][/color:7659f6a49f]


Ejose

Ejose

Responder

Posts

11/02/2004

Adilsond

A erro de sua consulta está descrito exatamento em sua frase:

No editor de campos do SQLDataSet e do ClientDataSet todos os campos estão listados.

Veja bem, Voce listou todos os campos da tabela nos fields, mas não está trazendo os mesmos em sua nova consulta. Ou Seja, o campo LC está definido como um field mas voce não está listando-o em sua consulta.


Responder

Gostei + 0

12/02/2004

Ejose

A erro de sua consulta está descrito exatamento em sua frase: No editor de campos do SQLDataSet e do ClientDataSet todos os campos estão listados. Veja bem, Voce listou todos os campos da tabela nos fields, mas não está trazendo os mesmos em sua nova consulta. Ou Seja, o campo LC está definido como um field mas voce não está listando-o em sua consulta.



Olá!!!

Obrigado pela resposta Adilson!!!

Como posso fazer usando o Group by e trazer todos os campos para a consulta?


Desde já agradeço!!

José.


Responder

Gostei + 0

12/02/2004

Ejose

A erro de sua consulta está descrito exatamento em sua frase: No editor de campos do SQLDataSet e do ClientDataSet todos os campos estão listados. Veja bem, Voce listou todos os campos da tabela nos fields, mas não está trazendo os mesmos em sua nova consulta. Ou Seja, o campo LC está definido como um field mas voce não está listando-o em sua consulta.



Olá!!!

Obrigado pela resposta!!!

Como posso fazer usando o Group by e trazer todos os campos para a consulta?


Desde já agradeço!!

José.


Responder

Gostei + 0

12/02/2004

Adilsond

Voce poderá resolver o seu problema de duas maneiras:

1 - Não criar os fields na query.
2 - Criar uma nova query para a segunda pesquisa. Basta via programacao voce mudar o DataSet que esta ligado ao seu TDatasource que a nova consulta será mostrada na grid.


Responder

Gostei + 0

13/02/2004

Ejose

Voce poderá resolver o seu problema de duas maneiras: 1 - Não criar os fields na query. 2 - Criar uma nova query para a segunda pesquisa. Basta via programacao voce mudar o DataSet que esta ligado ao seu TDatasource que a nova consulta será mostrada na grid.



OLÁ!!!

RESOLVI O PROBLEMA USANDO A SEGUNDA OPÇÃO QUE O ADILSON DUTRA ME PASSOU.


Muito Obrigado!!!!

José.


Responder

Gostei + 0

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

Aceitar