Wilke1 0 Denunciar post Postado Maio 4, 2007 ola pessoal eo seguinte estou utilizando o evento onprint do Qrbdtextpara selecionar o tipo de divisao de cada promotor de venda, mas não estou conseguindoespecificar a divisao correta de cada promotor. estou fazendo assimif Qrydivfor.RecordCount <= 1 then begin VALUE:= Qrydivfor.FieldByName('ds_divisao').AsString; END; if Qrydivfor.RecordCount > 1 then begin value:='Todas Divisões'; end; if Qrydivfor.RecordCount = 1 then begin value:= Qrydivfor.FieldByName('ds_divisao').AsString; end;quando ele e menor que um ele traz certo, quando e maior que um ele traz o texto 'todas divisão' até aqui esta certo. só que qunado eu seleciono um fornecedor que tem mas de uma divisao e seleciono somente um divisao, ele traz o texto ' Todas divisão' sendo que ele tinha que trazer somente aquela divisao. voces entenderam?desde ja agradeço pela ajuda Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Maio 4, 2007 Já tentou rodar passo-a-passo e ver o que ele acusa no RecordCount ? Deve de estar como maior que 1. Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Maio 5, 2007 Já tentou rodar passo-a-passo e ver o que ele acusa no RecordCount ? Deve de estar como maior que 1.Resolvidoeu passei por parametros o codigo do promotor ,passando para Query do Qrdbtexte ficou okvaleu Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Maio 5, 2007 beleza... tranquilo... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Maio 7, 2007 beleza... tranquilo... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gifmarcio eu tenho outra duvida e seguinte esse mesmo relatorio, ele tem qrband como rodapé, e eu queria remover ele mas ele não permiti a remoção, voce tem ideia de como eu posso fazer para tirar ele? Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Maio 7, 2007 Mas se clicar sobre ele, no caso selecionar, e pressionar DELETE ele não excluí ? O que acontece ? Alguma mensagem de erro ? Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Maio 7, 2007 Mas se clicar sobre ele, no caso selecionar, e pressionar DELETE ele não excluí ? O que acontece ? Alguma mensagem de erro ?sim ele dar uma mensagem de erro '' Selection contains a component,Qrband2,introducend in ancestor and cannot be deleted'', essa e mensagem quando eu tento excluir Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Maio 7, 2007 Que componente é este QRBand2 ? Pelo visto é nele o problema. Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Maio 7, 2007 Que componente é este QRBand2 ? Pelo visto é nele o problema.sim qrband2 Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Maio 7, 2007 No momento não sei o que poderia ser, não consigo simular este erro seu aqui... :-( Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Maio 7, 2007 No momento não sei o que poderia ser, não consigo simular este erro seu aqui... :-(marcio eu tó achando que esse relatório deve ter sido hedado, será que não e isso? Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Maio 7, 2007 Não sei mesmo... Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Maio 7, 2007 Não sei mesmo...aproveitando esse topgostaria de tirar uma duvida sobre essa select , e que eu quero totalizar quantidade de homes e mulheres e porcentagem ,desse total tem como?SELECT COUNT(1)AS MULHER,DECODE(TP.FL_SEXO,'M','HOMEM')FROM TB_PESSOA TPWHERE TP.FL_SEXO='M'and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365))>='1'and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365))<='18'--and tp.cd_estado_civil='S'GROUP BY TP.FL_SEXOUNIONSELECT COUNT(1)as Mulher,DECODE(TP.FL_SEXO,'F','MULHER')FROM TB_PESSOA TPWHERE TP.FL_SEXO='F'and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365))>='1'and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365))<='18'--and tp.cd_estado_civil='S'GROUP BY TP.FL_SEXO Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Maio 7, 2007 O comando SQL poderia mudar um pouco para buscar as informações, e depois fazer pelo próprio quick o cálculo do percentual: SELECT DISTINCT (SELECT COUNT(*)FROM TB_PESSOA TPWHERE not TP.FL_SEXO is null and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) >= '1' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) <= '18') as TotalPeriodo,(SELECT COUNT(*)FROM TB_PESSOA TPWHERE TP.FL_SEXO = 'M' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) >= '1' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) <= '18') as TotalHomem,(SELECT COUNT(*)FROM TB_PESSOA TPWHERE TP.FL_SEXO = 'F' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) >= '1' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) <= '18') as TotalMulherFROM TB_PESSOA TPGROUP BY TP.FL_SEXO Vai voltar três colunas, sendo que precisa somente pegar a TotalPeriodo e calcular o percentual sobre TotalHomem e TotalMulher... Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Maio 7, 2007 O comando SQL poderia mudar um pouco para buscar as informações, e depois fazer pelo próprio quick o cálculo do percentual: SELECT DISTINCT (SELECT COUNT(*)FROM TB_PESSOA TPWHERE not TP.FL_SEXO is null and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) >= '1' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) <= '18') as TotalPeriodo,(SELECT COUNT(*)FROM TB_PESSOA TPWHERE TP.FL_SEXO = 'M' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) >= '1' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) <= '18') as TotalHomem,(SELECT COUNT(*)FROM TB_PESSOA TPWHERE TP.FL_SEXO = 'F' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) >= '1' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) <= '18') as TotalMulherFROM TB_PESSOA TPGROUP BY TP.FL_SEXO Vai voltar três colunas, sendo que precisa somente pegar a TotalPeriodo e calcular o percentual sobre TotalHomem e TotalMulher... MARCIO não funcionou, sera porque o banco e oracle Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Maio 7, 2007 Qual mensagem de erro ?Fiz um teste com um BD meu em SQLServer fazendo um SQL parecido e funcionou... Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Maio 8, 2007 Qual mensagem de erro ?Fiz um teste com um BD meu em SQLServer fazendo um SQL parecido e funcionou...o erro ora-00933 sql comand not properly ended Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Maio 8, 2007 ORA-00933 o erro que acontece quando envia um SQL inválido, com a sintaxe errada, verifique os parênteses e tudo mais, para ver se tudo feche, rode cada sub-select separadamente para ver se funciona... SELECT DISTINCT (SELECT COUNT(*)FROM TB_PESSOA TPWHERE not TP.FL_SEXO is null and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) >= '1' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) <= '18') as TotalPeriodo,(SELECT COUNT(*)FROM TB_PESSOA TPWHERE TP.FL_SEXO = 'M' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) >= '1' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) <= '18') as TotalHomem,(SELECT COUNT(*)FROM TB_PESSOA TPWHERE TP.FL_SEXO = 'F' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) >= '1' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) <= '18') as TotalMulherFROM TB_PESSOA TPGROUP BY TP.FL_SEXO Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Maio 8, 2007 ORA-00933 o erro que acontece quando envia um SQL inválido, com a sintaxe errada, verifique os parênteses e tudo mais, para ver se tudo feche, rode cada sub-select separadamente para ver se funciona... SELECT DISTINCT (SELECT COUNT(*)FROM TB_PESSOA TPWHERE not TP.FL_SEXO is null and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) >= '1' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) <= '18') as TotalPeriodo,(SELECT COUNT(*)FROM TB_PESSOA TPWHERE TP.FL_SEXO = 'M' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) >= '1' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) <= '18') as TotalHomem,(SELECT COUNT(*)FROM TB_PESSOA TPWHERE TP.FL_SEXO = 'F' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) >= '1' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) <= '18') as TotalMulherFROM TB_PESSOA TPGROUP BY TP.FL_SEXO eu fiz assim e deu certo marcioSELECT * FROM (SELECT COUNT(*)TotalFROM TB_PESSOA TPWHERE not TP.FL_SEXO is null and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) >= '1' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) <= '18'), (SELECT COUNT(*)HomensFROM TB_PESSOA TPWHERE TP.FL_SEXO = 'M' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) >= '1' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) <= '18'),(SELECT COUNT(*)MulheresFROM TB_PESSOA TPWHERE TP.FL_SEXO = 'F' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) >= '1' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) <= '18') Compartilhar este post Link para o post Compartilhar em outros sites
Wilke1 0 Denunciar post Postado Maio 8, 2007 ORA-00933 o erro que acontece quando envia um SQL inválido, com a sintaxe errada, verifique os parênteses e tudo mais, para ver se tudo feche, rode cada sub-select separadamente para ver se funciona... SELECT DISTINCT (SELECT COUNT(*)FROM TB_PESSOA TPWHERE not TP.FL_SEXO is null and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) >= '1' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) <= '18') as TotalPeriodo,(SELECT COUNT(*)FROM TB_PESSOA TPWHERE TP.FL_SEXO = 'M' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) >= '1' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) <= '18') as TotalHomem,(SELECT COUNT(*)FROM TB_PESSOA TPWHERE TP.FL_SEXO = 'F' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) >= '1' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) <= '18') as TotalMulherFROM TB_PESSOA TPGROUP BY TP.FL_SEXO eu fiz assim e deu certo marcioSELECT * FROM (SELECT COUNT(*)TotalFROM TB_PESSOA TPWHERE not TP.FL_SEXO is null and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) >= '1' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) <= '18'), (SELECT COUNT(*)HomensFROM TB_PESSOA TPWHERE TP.FL_SEXO = 'M' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) >= '1' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) <= '18'),(SELECT COUNT(*)MulheresFROM TB_PESSOA TPWHERE TP.FL_SEXO = 'F' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) >= '1' and round(((trunc(sysdate)-tp.dt_nasc_fundacao)/365)) <= '18')marcio no caso do usuario quere que sai no relatorio outras idade,como 26 a 30 ,31a56 ect...qual seria a solução, usando essas subselect ?desde ja te agradeço pela ajuda Compartilhar este post Link para o post Compartilhar em outros sites