Relatorio Fortes(Select)

28/03/2006

1º Relatorio

ContratoTitular Dep
2350383

Esta certo

///////////codigo do primeiro relatorio
select do primeiro relatorio:
add(´select C.codigocarteirinha, e.razaosocial from contrato C, contratoxempresa x, empresas e´);
add(´WHERE(((C.DATACANCELADO > TO_DATE(´´´ + fCAD0034.edtdtfinal.text + ´´´, ´´DD/MM/YYYY´´)) or (C.DATACANCELADO is NULL)))´);
add(´and C.DATACONTRATO >= TO_DATE(´´´ + fCAD0034.edtdtiniical.text + ´´´, ´´DD/MM/YYYY´´)´);
add(´and C.DATACONTRATO <= TO_DATE(´´´ + fCAD0034.edtdtfinal.text + ´´´, ´´DD/MM/YYYY´´)´);
add(´and C.IDCOOPERATIVAS = 8´);
add(´and c.idcontratos=x.idcontrato´);
add(´and x.idempresas=e.idempresas´);

if fCAD0034.chkempresas.Checked= false then
begin
add(´AND codigocarteirinha>=´´´ + fCAD0034.edtempresa.Text + ´´´´);
add(´AND codigocarteirinha<=´´´ + fCAD0034.Edit1.Text + ´´´´);
end;
add(´ORDER BY CODIGOCARTEIRINHA´);



RLLabel1.caption := ´0´;
RLLabel2.caption := ´0´;
with qryaux, sql do
begin
close;
clear;
add(´select (count(*)) as codigo from usuario U´);
/// add(´select (distinct nome) as codigo from usuario U´);
{ add(´ where dtinscricao >=to_date(´´´ + form1.edtdtiniical.text + ´´´,´´dd/mm/yyyy´´)´);
add(´and dtinscricao <=to_date(´´´ + form1.edtdtfinal.text + ´´´,´´dd/mm/yyyy´´) ´);}


add(´WHERE U.EXISTE=´´S´´´);
add(´AND (((U.DTEXCLUSAO > TO_DATE(´´´ + fCAD0034.edtdtfinal.text + ´´´,´´DD/MM/YYYY´´)) OR (U.DTEXCLUSAO IS NULL)))´);
add(´AND U.DTINSCRICAO >= TO_DATE(´´´ + fCAD0034.edtdtiniical.text + ´´´,´´DD/MM/YYYY´´)´);
add(´AND U.DTINSCRICAO <= TO_DATE(´´´ + fCAD0034.edtdtfinal.text + ´´´,´´DD/MM/YYYY´´)´);
add(´and u.nome not like ´´¬#´´´);


/// if fCAD0034.edtempresa.text <> ´´ then

if fCAD0034.chkempresas.Checked = false then

add(´and U.nrocontrato=´´´ + qryrelatorio.fieldbyname(´codigocarteirinha´).asstring + ´´´´);


open;
RLLabel1.caption := fieldbyname(´codigo´).asstring;
end;


v_tit:=floattostr(strtofloat(v_tit)+strtofloat(RLLabel1.caption));


with qryaux, sql do
begin
close;
clear;
ADD(´select (COUNT(*)) AS CODIGO from usuario U, DEPENDENTE D´);
ADD(´WHERE D.EXISTE=´´S´´´);
ADD(´AND (((D.DTEXCLUSAO > TO_DATE(´´´ + fCAD0034.edtdtfinal.text + ´´´,´´DD/MM/YYYY´´)) OR (D.DTEXCLUSAO IS NULL)))´);
ADD(´AND D.IDUSUARIO=U.IDUSUARIO´);
ADD(´AND D.DTINSCRICAO >= TO_DATE(´´´ + fCAD0034.edtdtiniical.text + ´´´,´´DD/MM/YYYY´´)´);
ADD(´AND D.DTINSCRICAO <= TO_DATE(´´´ + fCAD0034.edtdtfinal.text + ´´´,´´DD/MM/YYYY´´)´);
/// if fCAD0034.edtempresa.text <> ´´ then
if fCAD0034.chkempresas.Checked = false then
add(´and U.nrocontrato=´´´ + qryrelatorio.fieldbyname(´codigocarteirinha´).asstring + ´´´´);
open;
RLLabel2.caption := fieldbyname(´codigo´).asstring;
end;

v_dep:=floattostr(strtofloat(v_dep)+strtofloat(RLLabel2.caption));

RLLabel10.caption:=floattostr(strtofloat(RLLabel1.caption)+strtofloat(RLLabel2.caption));

v_total:=floattostr(strtofloat(v_total)+strtofloat(RLLabel10.caption));


RLLabel11.caption:= v_tit;
RLLabel12.caption:= v_dep;
RLLabel13.caption:= v_total;
///////////codigo do primeiro relatorio


NOme do titular: XXXXXXXXXXXXXXXXXXXXXX
NOme do Dependente:PPPPPPPPPPPPPPPPPPPPPPPP
NOme do Dependente:jjjjjjjjjjjjjjjjjjjjjjjj
NOme do Dependente:kkkkkkkkkkkkkkkkkkkkkkkk

NOme do titular: XXXXXXXXXXXXXXXXXXXXXX
NOme do Dependente:PPPPPPPPPPPPPPPPPPPPPPPP
NOme do Dependente:jjjjjjjjjjjjjjjjjjjjjjjj
NOme do Dependente:kkkkkkkkkkkkkkkkkkkkkkkk

NOme do titular: XXXXXXXXXXXXXXXXXXXXXX
NOme do Dependente:PPPPPPPPPPPPPPPPPPPPPPPP
NOme do Dependente:jjjjjjjjjjjjjjjjjjjjjjjj
NOme do Dependente:kkkkkkkkkkkkkkkkkkkkkkkk

Obs.Isso vai dar ums 10 pag.

Total Titular: 461
Total Dependente:601

////////////////////////Codigo do segundo relatorio


if fcad0005X.cmbcidades.text <> ´´ then
vidcidades := fcad0005X.cmbcidades.KeyValue;

with qryusuarioemp, sql do
begin
close;
clear;
add(´select (d.nome) as nomedp, d.dtnasc,u.dtnascimento, u.nome,u.idusuario,´);
add(´u.idempresas,u.codigo, u.graudepen, u.chapafunc,u.dtnascimento, u.dtinscricao,u.sexo, u.idcidades,u.telefone, u.idcooperativarep, u.nrocontrato´);
add(´from dependente d, usuario u´);

if fcad0005X.cmdp.ItemIndex = 0 then
begin
sql[2] := ´´;
sql[2] := ´from ( select * from dependente where dtnasc <= to_date(´´01/01/1983´´,´´dd/mm/yyyy´´)) d, usuario u´;
end;

add(´where u.DTINSCRICAO >= to_date(´´´ + fcad0005X.edtperiodoinicial.text + ´´´,´´dd/mm/yyyy´´)´);
add(´and u.DTINSCRICAO <= to_date(´´´ + fcad0005X.edtperiodofinal.text + ´´´,´´dd/mm/yyyy´´)´);
add(´and u.idusuario=d.idusuario(+)´);
add(´and u.dtexclusao is null´);

if ((fcad0005X.edtcooporigem.Text <> ´´) and (fcad0005X.chbtodascoop.Checked = false)) then
add(´and u.idcooperativas = ´´´ + fcad0005X.edtcooporigem.Text + ´´´´);

if ((fcad0005X.edtcooprepasse.Text <> ´´) and (fcad0005X.chbtodascooprepasse.Checked = false)) then
add(´and u.idcooperativarep = ´´´ + fcad0005X.edtcooprepasse.Text + ´´´´);

{ if fcad0005X.cmdp.ItemIndex = 0 then
begin
add(´and d.dtnasc <= to_date(´´01/01/1983´´,´´dd/mm/yyyy´´)´);
end;}

if ((fcad0005X.edtcodempresa.Text <> ´´) and (fcad0005X.chktodasempresas.Checked = false)) then
begin
add(´and u.idempresas in (select x.idempresas from contratoxempresa x, contrato c´);
add(´where c.codigocarteirinha=´´´ + fcad0005X.edtcodempresa.Text + ´´´´);
add(´and c.idcontratos= x.idcontrato)´);
end;



if ((fcad0005X.edtplanos.Text <> ´´) and (fcad0005X.chktodasempresas.Checked = false)) then
begin
add(´and u.idempresas in (select x.idempresas from contratoxempresa x, contrato c, planos p´);
add(´where c.idplanos=p.idplanos´);
add(´and p.codigo=´´´ + fcad0005X.edtplanos.Text + ´´´´);
add(´and c.idcontratos= x.idcontrato)´);

end;




if ((inttostr(vidcidades) <> ´´) and (fcad0005X.chbTodasCidades.Checked = false)) then
add(´and u.idcidades = ´´´ + inttostr(vidcidades) + ´´´´);

add(´group by d.nome,d.dtnasc,u.dtnascimento,u.nome,u.idusuario,u.idempresas,u.codigo, u.graudepen, u.chapafunc,´);
add(´u.dtnascimento, u.dtinscricao,u.sexo, u.idcidades,u.telefone, u.idcooperativarep, u.nrocontrato´);


if fcad0005X.cmbordem.ItemIndex = 0 then
begin
add(´order by u.nome´);
RLLabel3.Caption := ´[fcad0005Z] - Relatorio Usuário Empresa Ordem: Nome´;
end;

if fcad0005X.cmbordem.ItemIndex = 1 then
begin
add(´order by u.codigo´);
RLLabel3.Caption := ´[fcad0005Z] - Relatorio Usuário Empresa Ordem: Codigo´;
end;
open;
end;



procedure TFCAD0005Z.RLBand3BeforePrint(Sender: TObject;
var PrintIt: Boolean);
begin
v_titular := v_titular + 1;
end;


procedure TFCAD0005Z.RLBand2BeforePrint(Sender: TObject;
var PrintIt: Boolean);
begin
if qryusuarioemp.FieldByName(´NOMEDP´).AsString <> ´´ then
v_dep := v_dep + 1;

end;

procedure TFCAD0005Z.FormShow(Sender: TObject);
begin
v_titular:=0;
v_dep:=0;
end;

////////////////////////Codigo do segundo relatorio

Gostaria de fazer esse segundo relatorio bater com os valores do
primeiro relatorio, acho que deve estar algo errado no select
do segundo relatorio

no aguardo


Evandro_araujo