Relatórios usando Firebird e dbExpress
boa noite
já tentei fazer relatórios em quickreport com vários componentes, o problema também é que eu nunca fiz relatorios usando FireBirde DBExpress, a inclusão, exclusão, alteração de dados está funcionando beleza com firebird, só falta eu acerta a fazer os relatórios simples listagem e agrupando.
Preciso urgente mente solucionar isso.
abaixo as tentativas.
dá o mesmo erro em todas
erro: unknown ISC error 0.
se alguém tiver exemplos e possa me enviar aqui meu email altenircpd@yahoo.com.br msn: altenir30@hotmail.com
[b:879d62b03a]
//COM SQLDATASET [/b:879d62b03a]
{ SQLDataSet1.CommandType := ctQuery;
SQLDataSet1.CommandText:=´´;
SQLDataSet1.CommandText :=´select cod, nome, sum(valor) as soma from lancamento ´+
´where cdgrup =:VarCodGru and idorig =:VarOrig and data Between :VarDataI and :VarDataF group by cdgrup, cod, nome´;
SQLDataSet1.ParamByName(´VarCodGru´).AsString := EdCodGrup.Text;
SQLDataSet1.ParamByName(´VarOrig´).AsString := EdCodOrig.Text;
SQLDataSet1.ParamByName(´VarDataI´).AsDateTime := DateTimePicker1.Date;
SQLDataSet1.ParamByName(´VarDataF´).AsDateTime := DateTimePicker2.Date;
SQLDataSet1.ExecSQL;
// ClientDataSet1.Active:=False;
// ClientDataSet1.Active:=true;
QuickRep2.Preview;
finally
// ClientDataSet1.Active:=false;
end }
[b:879d62b03a]//COM SIMPLEDATASET [/b:879d62b03a]
{ SDSGrupo.Close;
SDSGrupo.DataSet.CommandText:=´´;
SDSGrupo.DataSet.CommandText :=´select cod, nome, sum(valor) as soma from lancamento ´+
´where cdgrup =:VarCodGru and idorig =:VarOrig and data Between :VarDataI and :VarDataF group by cdgrup, cod, nome´;
SDSGrupo.Params[0].AsString := EdCodGrup.Text;
SDSGrupo.Params[1].AsString := EdCodOrig.Text;
SDSGrupo.Params[2].AsDateTime:= DateTimePicker1.Date;
SDSGrupo.Params[3].AsDateTime := DateTimePicker2.Date;
SDSGrupo.Open;
QuickRep2.Preview;
SDSGrupo.Close;
[b:879d62b03a]//COM SQLQUERY [/b:879d62b03a]
SQLQuery1.Close;
SQLQuery1.SQL.Clear;
SQLQuery1.SQL.Add(´select cod, nome, sum(valor) as soma from lancamento ´+
´where cdgrup =:VarCodGru and idorig =:VarOrig and data Between :VarDataI and :VarDataF group by cdgrup, cod, nome´);
SQLQuery1.ParamByName(´VarCodGru´).AsString := EdCodGrup.Text;
SQLQuery1.ParamByName(´VarOrig´).AsString := EdCodOrig.Text;
SQLQuery1.ParamByName(´VarDataI´).AsDateTime:= DateTimePicker1.Date;
SQLQuery1.ParamByName(´VarDataf´).AsDateTime := DateTimePicker2.Date;
SQLQuery1.Open;
QuickRep2.Preview;
// SQLQuery1.Close;
já tentei fazer relatórios em quickreport com vários componentes, o problema também é que eu nunca fiz relatorios usando FireBirde DBExpress, a inclusão, exclusão, alteração de dados está funcionando beleza com firebird, só falta eu acerta a fazer os relatórios simples listagem e agrupando.
Preciso urgente mente solucionar isso.
abaixo as tentativas.
dá o mesmo erro em todas
erro: unknown ISC error 0.
se alguém tiver exemplos e possa me enviar aqui meu email altenircpd@yahoo.com.br msn: altenir30@hotmail.com
[b:879d62b03a]
//COM SQLDATASET [/b:879d62b03a]
{ SQLDataSet1.CommandType := ctQuery;
SQLDataSet1.CommandText:=´´;
SQLDataSet1.CommandText :=´select cod, nome, sum(valor) as soma from lancamento ´+
´where cdgrup =:VarCodGru and idorig =:VarOrig and data Between :VarDataI and :VarDataF group by cdgrup, cod, nome´;
SQLDataSet1.ParamByName(´VarCodGru´).AsString := EdCodGrup.Text;
SQLDataSet1.ParamByName(´VarOrig´).AsString := EdCodOrig.Text;
SQLDataSet1.ParamByName(´VarDataI´).AsDateTime := DateTimePicker1.Date;
SQLDataSet1.ParamByName(´VarDataF´).AsDateTime := DateTimePicker2.Date;
SQLDataSet1.ExecSQL;
// ClientDataSet1.Active:=False;
// ClientDataSet1.Active:=true;
QuickRep2.Preview;
finally
// ClientDataSet1.Active:=false;
end }
[b:879d62b03a]//COM SIMPLEDATASET [/b:879d62b03a]
{ SDSGrupo.Close;
SDSGrupo.DataSet.CommandText:=´´;
SDSGrupo.DataSet.CommandText :=´select cod, nome, sum(valor) as soma from lancamento ´+
´where cdgrup =:VarCodGru and idorig =:VarOrig and data Between :VarDataI and :VarDataF group by cdgrup, cod, nome´;
SDSGrupo.Params[0].AsString := EdCodGrup.Text;
SDSGrupo.Params[1].AsString := EdCodOrig.Text;
SDSGrupo.Params[2].AsDateTime:= DateTimePicker1.Date;
SDSGrupo.Params[3].AsDateTime := DateTimePicker2.Date;
SDSGrupo.Open;
QuickRep2.Preview;
SDSGrupo.Close;
[b:879d62b03a]//COM SQLQUERY [/b:879d62b03a]
SQLQuery1.Close;
SQLQuery1.SQL.Clear;
SQLQuery1.SQL.Add(´select cod, nome, sum(valor) as soma from lancamento ´+
´where cdgrup =:VarCodGru and idorig =:VarOrig and data Between :VarDataI and :VarDataF group by cdgrup, cod, nome´);
SQLQuery1.ParamByName(´VarCodGru´).AsString := EdCodGrup.Text;
SQLQuery1.ParamByName(´VarOrig´).AsString := EdCodOrig.Text;
SQLQuery1.ParamByName(´VarDataI´).AsDateTime:= DateTimePicker1.Date;
SQLQuery1.ParamByName(´VarDataf´).AsDateTime := DateTimePicker2.Date;
SQLQuery1.Open;
QuickRep2.Preview;
// SQLQuery1.Close;
Altenir
Curtidas 0
Respostas
Emerson Nascimento
10/01/2007
quando você utilizar clientdataset´s, faça a manipulação nele mesmo:
isso funciona desde que o ClientDataset1 esteja ligado ao report
//COM CLIENTDATASET with ClientDataset1, ClientDataset1.Params do begin Close; CommandText := ´select cod, nome, sum(valor) as soma ´+ ´from lancamento ´+ ´where cdgrup =:VarCodGru ´+ ´and idorig =:VarOrig ´+ ´and data Between :VarDataI and :VarDataF ´+ ´group by cdgrup, cod, nome´; ParamByName(´VarCodGru´).AsString := EdCodGrup.Text; ParamByName(´VarOrig´).AsString := EdCodOrig.Text; ParamByName(´VarDataI´).AsDateTime := DateTimePicker1.Date; ParamByName(´VarDataF´).AsDateTime := DateTimePicker2.Date; Open; QuickRep2.Preview; end;
GOSTEI 0
Altenir
10/01/2007
Agora mudou o erro para:
CommandText changes are not allowed.
estou usando: SqlDataset + DataSetProvider+ ClientDataSet
CommandText changes are not allowed.
estou usando: SqlDataset + DataSetProvider+ ClientDataSet
quando você utilizar clientdataset´s, faça a manipulação nele mesmo:
isso funciona desde que o ClientDataset1 esteja ligado ao report
//COM CLIENTDATASET with ClientDataset1, ClientDataset1.Params do begin Close; CommandText := ´select cod, nome, sum(valor) as soma ´+ ´from lancamento ´+ ´where cdgrup =:VarCodGru ´+ ´and idorig =:VarOrig ´+ ´and data Between :VarDataI and :VarDataF ´+ ´group by cdgrup, cod, nome´; ParamByName(´VarCodGru´).AsString := EdCodGrup.Text; ParamByName(´VarOrig´).AsString := EdCodOrig.Text; ParamByName(´VarDataI´).AsDateTime := DateTimePicker1.Date; ParamByName(´VarDataF´).AsDateTime := DateTimePicker2.Date; Open; QuickRep2.Preview; end;
GOSTEI 0
Emerson Nascimento
10/01/2007
adicione o item [poAllowCommandText] à propriedade Options do DatasetProvider
GOSTEI 0
Altenir
10/01/2007
O erro mudou para unknown ISC error 0
adicione o item [poAllowCommandText] à propriedade Options do DatasetProvider
GOSTEI 0
Altenir
10/01/2007
Nada...
continua dando erro: unknown ISC error 0.
continua dando erro: unknown ISC error 0.
GOSTEI 0
Altenir
10/01/2007
me disseram que parece ser a api do firebird
Eu uso firebird 2.0
[b:cbaf325602]Rodei a query no IBExpert :[/b:cbaf325602]
select cod, nome, cdgrup, sum(valor) as soma
from lancamento where cdgrup =2
and idorig =1 and data Between ´01/01/07´ and ´05/01/07´
group by cdgrup, cod, nome
[b:cbaf325602]e funcionou.[/b:cbaf325602]
Então é a API do Firebird?
Como posso resolver isso? Instalando a outra versão 1.5, Classic ou Super server
Eu uso firebird 2.0
[b:cbaf325602]Rodei a query no IBExpert :[/b:cbaf325602]
select cod, nome, cdgrup, sum(valor) as soma
from lancamento where cdgrup =2
and idorig =1 and data Between ´01/01/07´ and ´05/01/07´
group by cdgrup, cod, nome
[b:cbaf325602]e funcionou.[/b:cbaf325602]
Então é a API do Firebird?
Como posso resolver isso? Instalando a outra versão 1.5, Classic ou Super server
Nada...
continua dando erro: unknown ISC error 0.
GOSTEI 0
Altenir
10/01/2007
Depois de muitas tentativas, ontem eu descobri o erro.
[b:60ac4a262a]Testei só com esses dois parametros e funcionou.[/b:60ac4a262a]SDSGrupo.Params.ParamByName(´VarCodGru´).AsString := EdCodGrup.Text;
SDSGrupo.Params.ParamByName(´VarOrig´).AsString := EdCodOrig.Text;
Depois acrescentei o resto:SDSGrupo.Params.ParamByName(´VarCodGru´).AsString := EdCodGrup.Text;
SDSGrupo.Params.ParamByName(´VarOrig´).AsString := EdCodOrig.Text;
SDSGrupo.Params.ParamByName(´VarDataI´).AsDateTime := DateTimePicker1.Date;
SDSGrupo.Params.ParamByName(´VarDataF´).AsDateTime := DateTimePicker2.Date;
[b:60ac4a262a]Ai deu erro [/b:60ac4a262a]
[b:60ac4a262a]na propriedade do SQLDataSet em paramers estava: [/b:60ac4a262a]
VarDataI
DataType = ftDate
[b:60ac4a262a]no código estava: [/b:60ac4a262a]
SDSGrupo.ParamByName(´VarDataI´).AsDateTime := DateTimePicker1.Date;
[b:60ac4a262a]Mudei para: [/b:60ac4a262a]
SDSGrupo.ParamByName(´VarDataI´).AsDate := DateTimePicker1.Date;
Funcionou.
[b:60ac4a262a]ai pronto, fiz o relatório no Rave [/b:60ac4a262a]
dmd.RvProject1.SetParam(´PDataI´, DateToStr(DateTimePicker1.Date));
dmd.RvProject1.SetParam(´PDataF´, DateToStr(DateTimePicker2.Date));
dmd.RvProject1.SetParam(´POrigem´, EdCodOrig.Text +´-´+ EdOrig.Text);
Obrigado pela atenção de todos
[b:60ac4a262a]Testei só com esses dois parametros e funcionou.[/b:60ac4a262a]SDSGrupo.Params.ParamByName(´VarCodGru´).AsString := EdCodGrup.Text;
SDSGrupo.Params.ParamByName(´VarOrig´).AsString := EdCodOrig.Text;
Depois acrescentei o resto:SDSGrupo.Params.ParamByName(´VarCodGru´).AsString := EdCodGrup.Text;
SDSGrupo.Params.ParamByName(´VarOrig´).AsString := EdCodOrig.Text;
SDSGrupo.Params.ParamByName(´VarDataI´).AsDateTime := DateTimePicker1.Date;
SDSGrupo.Params.ParamByName(´VarDataF´).AsDateTime := DateTimePicker2.Date;
[b:60ac4a262a]Ai deu erro [/b:60ac4a262a]
[b:60ac4a262a]na propriedade do SQLDataSet em paramers estava: [/b:60ac4a262a]
VarDataI
DataType = ftDate
[b:60ac4a262a]no código estava: [/b:60ac4a262a]
SDSGrupo.ParamByName(´VarDataI´).AsDateTime := DateTimePicker1.Date;
[b:60ac4a262a]Mudei para: [/b:60ac4a262a]
SDSGrupo.ParamByName(´VarDataI´).AsDate := DateTimePicker1.Date;
Funcionou.
[b:60ac4a262a]ai pronto, fiz o relatório no Rave [/b:60ac4a262a]
dmd.RvProject1.SetParam(´PDataI´, DateToStr(DateTimePicker1.Date));
dmd.RvProject1.SetParam(´PDataF´, DateToStr(DateTimePicker2.Date));
dmd.RvProject1.SetParam(´POrigem´, EdCodOrig.Text +´-´+ EdOrig.Text);
Obrigado pela atenção de todos
GOSTEI 0