Dbexpress X relatórios
Bom dia,
estou tendo problemas para gerar os relatórios no meu programa..
tenho um sqlconnection, um sqldataset1, um datasetprovider, um clientdataset,
um datasource.. todos ligados corretamente..
inseri no datamodule um Tsqlquery.. no sql dele inseri o texto:
SELECT ´LOCAL´ = LOCAL_INFRA, ´QUANTIDADE´ = COUNT(NUM_LOCAL),
OBS,NUM_LOCAL
FROM RETORNO
WHERE DT_INFRA BETWEEN :DTINCIAL AND :DTFINAL
GROUP BY LOCAL_INFRA,OBS,NUM_LOCAL
ORDER BY LOCAL_INFRA
num formulário tenho o seguinte código..
procedure Tfrmlocalinfracao.BtnImprimirClick(Sender: TObject);
VAR DT1,DT2: STRING;
begin
DT1:= COPY(DATETOSTR(DTINICIAL.DATE),4,2)+´/´+COPY(DATETOSTR(DTINICIAL.DATE),1,2)+´/´+COPY(DATETOSTR(DTINICIAL.DATE),7,4);
DT2:= COPY(DATETOSTR(DTFINAL.DATE),4,2)+´/´+COPY(DATETOSTR(DTFINAL.DATE),1,2)+´/´+COPY(DATETOSTR(DTFINAL.DATE),7,4);
DTMDB.LocalInfra.Close;
DTMDB.LocalInfra.ParamByName(´DTINCIAL´).ASSTRING:= DT1;
DTMDB.LocalInfra.ParamByName(´DTFINAL´).ASSTRING:= DT2;
DTMDB.LocalInfra.Open;
FRMRELATO12.Dtinicial.Caption:= DATETOSTR(DTINICIAL.DATE);
FRMRELATO12.Dtfinal.Caption:= DATETOSTR(DTfinal.DATE);
FRMRELATO12.QuickRep1.Preview;
end;
ele dá o seguinte erro: dbexpresserror: Operation not supported..
a sql está certa pq qdo tiro as tres ultimas linhas ela executa..
alguém sabe o que pode ser.
valeu
Eric
estou tendo problemas para gerar os relatórios no meu programa..
tenho um sqlconnection, um sqldataset1, um datasetprovider, um clientdataset,
um datasource.. todos ligados corretamente..
inseri no datamodule um Tsqlquery.. no sql dele inseri o texto:
SELECT ´LOCAL´ = LOCAL_INFRA, ´QUANTIDADE´ = COUNT(NUM_LOCAL),
OBS,NUM_LOCAL
FROM RETORNO
WHERE DT_INFRA BETWEEN :DTINCIAL AND :DTFINAL
GROUP BY LOCAL_INFRA,OBS,NUM_LOCAL
ORDER BY LOCAL_INFRA
num formulário tenho o seguinte código..
procedure Tfrmlocalinfracao.BtnImprimirClick(Sender: TObject);
VAR DT1,DT2: STRING;
begin
DT1:= COPY(DATETOSTR(DTINICIAL.DATE),4,2)+´/´+COPY(DATETOSTR(DTINICIAL.DATE),1,2)+´/´+COPY(DATETOSTR(DTINICIAL.DATE),7,4);
DT2:= COPY(DATETOSTR(DTFINAL.DATE),4,2)+´/´+COPY(DATETOSTR(DTFINAL.DATE),1,2)+´/´+COPY(DATETOSTR(DTFINAL.DATE),7,4);
DTMDB.LocalInfra.Close;
DTMDB.LocalInfra.ParamByName(´DTINCIAL´).ASSTRING:= DT1;
DTMDB.LocalInfra.ParamByName(´DTFINAL´).ASSTRING:= DT2;
DTMDB.LocalInfra.Open;
FRMRELATO12.Dtinicial.Caption:= DATETOSTR(DTINICIAL.DATE);
FRMRELATO12.Dtfinal.Caption:= DATETOSTR(DTfinal.DATE);
FRMRELATO12.QuickRep1.Preview;
end;
ele dá o seguinte erro: dbexpresserror: Operation not supported..
a sql está certa pq qdo tiro as tres ultimas linhas ela executa..
alguém sabe o que pode ser.
valeu
Eric
Eric.miranda
Curtidas 0
Respostas
Vinicius2k
18/11/2004
Colega,
Se vc está certo de que a instrução SQL está correta, erros de Operation Not Supported, normalmente, são ocasionados pela tentativa de navegação bidirecional no dbExpress que é unidirecional.
Eu não trabalho com o QuickReport, mas se ele exigir este tipo de navegação, a fonte de dados para o relatório não pode ser diretamente a TSQLQuery... deve ser um TClientDataSet, assim como num DBGrid e no mesmo esquema de ligação utilizando um TDataSetProvider.
Espero ter ajudado...
T+
Se vc está certo de que a instrução SQL está correta, erros de Operation Not Supported, normalmente, são ocasionados pela tentativa de navegação bidirecional no dbExpress que é unidirecional.
Eu não trabalho com o QuickReport, mas se ele exigir este tipo de navegação, a fonte de dados para o relatório não pode ser diretamente a TSQLQuery... deve ser um TClientDataSet, assim como num DBGrid e no mesmo esquema de ligação utilizando um TDataSetProvider.
Espero ter ajudado...
T+
GOSTEI 0
Christian_adriano
18/11/2004
Caro ´eric.miranda´,
Olha, sempre utilizei o TSQLQuery com TQuickReport e nunca tive erros....
... estranho esse seu erro.
Mais vc tentou (apos aparecer o erro) pressionar a tecla ´F9´ novamente pra vê se aparece alguma erro na Aplicação ?
[]´s.
Christian.
Olha, sempre utilizei o TSQLQuery com TQuickReport e nunca tive erros....
... estranho esse seu erro.
Mais vc tentou (apos aparecer o erro) pressionar a tecla ´F9´ novamente pra vê se aparece alguma erro na Aplicação ?
[]´s.
Christian.
GOSTEI 0