Fórum coluna_mesmo_campo #27279
12/03/2010
0
Epi CA OBS EPI CA OBS
ou seja, os mesmo campo com 2 colunas. Eu estou usando o freereport, nao sei como fazer isto no free,
estou tentanto fazer no cliente dataset criando por exemplo EPI1,EPI2,CA1,CA2,OBS1,OBS1 para jogar os valores. Se puder ensinar como fazer no freereport ok senão eu estou mandando o exemplo como eu fiz com clientdataset.
Epi1 CA1 OBS1 EPI2 CA2 OBS2
teoricamente iria funcionar, mas nao estou conseguindo fazer até chego perto, vou te mostar como esta retorna com as instrucao que eu fiz
Epi CA OBS EPI CA OBS
Jose 23 eeee errado errado errado
Lucas 24 rrrrrrrr Joao 222 5
onde esta escrito "errado" no relatório esta tudo em branco, eu nao estou conseguindo por exemplo, jogar
joao , 222 5 para cima para que os campos vazios fiquem por ultimo. Vou mandar o comando inteiro.
sql :
DMConsulta.cds_conaux.Close;
DMConsulta.cds_conaux.CommandText := ' select codltcat,codfuncao,codsetor,codempresa,codepi,epi.nome,lfse.obs,lfse.ca from ltcat_funcao_setor_epi lfse '+
' join epi on(lfse.codepi = epi.codigo) where lfse.codltcat = '+iCodLtcat+'and lfse.bloq = ''N'' and lfse.flag = ''S'' '+
' group by codltcat,codsetor,codfuncao,codempresa,codepi,epi.nome,lfse.obs,lfse.ca order by lfse.codsetor,lfse.codfuncao ';
DMConsulta.cds_conaux.Open;
// agora o procedimento
DMConsulta.cds_conaux.First;
CodSetAnt := DMConsulta.cds_conaux.fieldbyname('codsetor').AsString;
CodFuncAnt := DMConsulta.cds_conaux.fieldbyname('codfuncao').AsString;
while not(DMConsulta.cds_conaux.Eof) do
begin
funcoesltcatepi.Append;
funcoesltcatepi.FieldByName('codltcat').AsInteger := DMConsulta.cds_conaux.fieldbyname('codltcat').AsInteger;
funcoesltcatepi.FieldByName('codempresa').AsInteger := DMConsulta.cds_conaux.fieldbyname('codempresa').AsInteger;
funcoesltcatepi.FieldByName('codfuncao').AsInteger := DMConsulta.cds_conaux.fieldbyname('codfuncao').AsInteger;
funcoesltcatepi.FieldByName('codsetor').AsInteger := DMConsulta.cds_conaux.fieldbyname('codsetor').AsInteger;
funcoesltcatepi.FieldByName('codepi1').AsInteger := DMConsulta.cds_conaux.fieldbyname('codepi').AsInteger;
funcoesltcatepi.FieldByName('nomeepi1').AsString := DMConsulta.cds_conaux.fieldbyname('nome').AsString;
funcoesltcatepi.FieldByName('obs1').AsString := DMConsulta.cds_conaux.fieldbyname('obs').AsString;
funcoesltcatepi.FieldByName('ca1').AsString := DMConsulta.cds_conaux.fieldbyname('ca').AsString;
DMConsulta.cds_conaux.Next;
IF NOT (DMConsulta.cds_conaux.EOF) Then
BEGIN
IF (CodSetAnt <> DMConsulta.cds_conaux.fieldbyname('codsetor').AsString) OR
(CodFuncAnt <> DMConsulta.cds_conaux.fieldbyname('codfuncao').AsString) Then
Begin
CodSetAnt := DMConsulta.cds_conaux.fieldbyname('codsetor').AsString;
CodFuncAnt := DMConsulta.cds_conaux.fieldbyname('codfuncao').AsString;
Continue;
End;
funcoesltcatepi.FieldByName('codepi2').AsInteger := DMConsulta.cds_conaux.fieldbyname('codepi').AsInteger;
funcoesltcatepi.FieldByName('nomeepi2').AsString := DMConsulta.cds_conaux.fieldbyname('nome').AsString;
funcoesltcatepi.FieldByName('obs2').AsString := DMConsulta.cds_conaux.fieldbyname('obs').AsString;
funcoesltcatepi.FieldByName('ca2').AsString := DMConsulta.cds_conaux.fieldbyname('ca').AsString;
END;
CodSetAnt := DMConsulta.cds_conaux.fieldbyname('codsetor').AsString;
CodFuncAnt := DMConsulta.cds_conaux.fieldbyname('codfuncao').AsString;
funcoesltcatepi.Post;
DMConsulta.cds_conaux.Next;
end;
Jose Boas
Curtir tópico
+ 0Posts
12/03/2010
Rodrigo Mourão
Ficou confuso sua solicitação. Para adiantar um relatorio se resolve no select, o gerador de relatorio seja ele qual for deve ser usando apenas para criar a forma com o relatorio sera gerado/visualizado.
Seria melhor me informar qual o banco vc utiliza bem como quais tabelas farao parte do processo e o que voce realmente quer fazer. Talvez ai possamos ajudálo.
Att,
P.s.: a consultoria nao cobre programas de terceiros por isso acho melhor focamos no select e ai vc usa o gerador de relatorio que quisre.
Gostei + 0
12/03/2010
Jose Boas
Nome Apelido NOme Apelido
Só que eu nao sei fazer no freereport, eu estava tentando do fazer no clientdataset, ou seja, eu iria montar na unha
heheeh
Gostei + 0
15/03/2010
Rodrigo Mourão
Bem como falei a consultoria nao cobre componentes de terceiros não seria nem o caso este mas e que eu nao conheco o free report, poderia ser em RAVE ?
Posso te mandar um exemplo disso em Rave com uma tabela padrao do delphi so para ver s ete atende.
Me confirma sua versão do Delphi eu te mando.
Att,
Gostei + 0
15/03/2010
Jose Boas
Gostei + 0
15/03/2010
Rodrigo Mourão
Gostei + 0
18/03/2010
Wesley Yamazack
Segue abaixo o link de um exemplo feito com o Rave Reports.
http://video.devmedia.com.br/discovirtual/192388/Rave 2 colunas.rar
O mesmo em seu componente dataBand, tem uma propriedade Columns, onde você diz o número de colunas, no caso coloquei 2 colunas, e ele exibe os dados em duas colunas.
Um abraço
Wesley Y
Gostei + 0
23/03/2010
Wesley Yamazack
Um abraço
Wesley Y
Gostei + 0
24/03/2010
Wesley Yamazack
Um abraço
Wesley Y
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)