Problema no DBX com QREPORT.

Firebird

17/03/2004

Colegas,

Eu estou usando DELPHI7 / IB6 / DBX e QREPORT. Acontece que quando eu uso no QREPORT o componente QRGROUP e coloco na propriedade EXPRESSION o campo que eu quero para a quebra, ele dá erro no PREVIEW do relatório com uma mensagem dizendo que não é possível fazer isso num dataset unidirecional.

Eu tenho outros sistemas com PARADOX acessando como Table e funciona perfeitamente. Eu acho, não sei bem, que o QREPORT + QRGROUP não aceita trabalhar com DBX porque ele é unidirecional para SQLDATASET e SQLQUERY.

Só que eu não posso, agora, mudar de método de acesso porque já fiz muita coisa.

Alguem já passou por isso ??

Obrigado,

Airton :?


Airton Santos

Airton Santos

Curtidas 0

Respostas

Afarias

Afarias

17/03/2004

Associe um TDataSetProvider ao SQLDATASET ou SQLQUERY e associe um TClientDataSet ao DataSetProvider, use o ClientDataSet como seu DataSet do relatório...

(quando abrir o ClientDataSet, o sqlDataSet é automáticamente executado e os dados são transportados para a memória do ClientDataSet que é um DataSet bi-direcional)


T+


GOSTEI 0
Airton Santos

Airton Santos

17/03/2004

A. Farias,

Deu certo !!. Valeu.

Porem eu tenho enfrentado um probleminha, que é contornável, porém perturba. Nos Relatórios QReport que eu tenho quebra (QRGROUP) e uma banda associada ao QRGROUP para dar os Totais (função SUM), só funciona se o campo no DataSet for float ou outro tipo diferente de NUMERIC(xx,xx). No DBCHART acontece a mesma coisa. A solução foi a seguinte: mudar todos os campos que eu manipulo em SUM no QReport ou DBChart para float, só que com isso eu terei problemas nos arredondamentos.

Mas, estou continuando e é o que importa !!

Mais uma vez,

Obrigado

Airton :D


GOSTEI 0
Afarias

Afarias

17/03/2004

[quote:937d11e836=´Airton dos Santos´]só funciona se o campo no DataSet for float ou outro tipo diferente de NUMERIC(xx,xx). [/quote:937d11e836]

O campo no IB não é o importante, verifique qual o tipo do TField. Só trabalho com campos NUMERIC (no IB) e não tenho problemas.

Por exemplo:: se os campos numeric representarem Inteiros de 64Bits (TLargeIntField) eles não poderão ser utilizados pelo TeeChart que não possui suporte a inteiros de 64 bits (no Delphi 5 pelo menos)


T+


GOSTEI 0
POSTAR