USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  FAZER UM DISTINCT COM SOMA E AGRUPAR POR MES
ADRIANO2605
CAMPO GRANDE
MS - BRASIL
ENUNCIADA !
Postada em 02/03/2011 18:53 hs            
E ai pessoal, to com uma duvida bruta. Eu estou trabalhando em um relatorio de analise financeira, onde o programa irá buscar da tabela "Pagar" os campos subsetor, setor, valorpago, datapgto, situaçao o sql ficou este:
With FrmComp
    sql = "select pagar.subsetor,sum(pagar.valorpago) as vlrpago, pagar.datapgto, setor.setor, setor.CODIGO from pagar inner join  setor on pagar.setor = setor.codigo "
    sql = sql & "WHERE DATAPGTO >= #" & Format(.Ctxt(0).Text, "mm/dd/yyyy") & "# "
    sql = sql & "AND DATAPGTO <= #" & Format(.Ctxt(1).Text, "mm/dd/yyyy") & "#"
    sql = sql & "and SITUAÇAO LIKE '" & "Pag" & "' "
    End With
    sql = sql & " group by pagar.subsetor, setor.setor, SETOR.CODIGO, pagar.datapgto "
    sql = sql & " ORDER BY pagar.datapgto, pagar.subsetor"

Até ai ele funciona perfeitamente se eu colocar nos ctxt um periodo mensal referente a um mes somente por ex. .ctxt(0).text = 01/03/2011 e .ctxt(1).text = 31/03/2011
Porem apartir do momento que eu coloque um periodo anual q é a verdadeira funcionalidade do relatorios pra fazer balanço anual, ai ele não traz o programa da forma correta.
Ele me traz os subsetores um a um vou subir a imagem do relatorio para vcs verem.
O certo é o que faz o select de um unico mes RelCertoMes03.jpeg - https://docs.google.com/leaf?id=0B7BOn1qqQKEaN2FmZGU2ZTUtOTcyYi00ZWU0LTg2YWYtNjQ1ZTYzOTIzM2I2&hl=pt_BR

o errado é o que faz o select de varios meses RelErradomes 01 ao 03.jpeg - https://docs.google.com/leaf?id=0B7BOn1qqQKEaZDUxOGI1YmUtYTg3MC00NDg0LThkZjUtZWY4ZDcwNGNjM2Jk&hl=pt_BR

Bom desde já agradeço a ajuda de todos, valeu pessoal os links são do google docs.     
   
Juan Carlos R.A
Pontos: 2843
MACEIO
AL - BRASIL
ENUNCIADA !
Postada em 03/03/2011 09:41 hs            
Adriano, o relatorio mes a mes funciona perfeitamente? janeiro, fevereiro,.... ate dezembro?
Vc teria como emitir de cada mes para ver se algum mes esta furado. pq se nao tiver problemas de cadas mes, entao o anual bateria.
Uma pergunta o setor existem en todos os registros do pagar. pq inner join indica que existe em ambos lados, casso contrario seria left join existe ou nao exista na tabela pagar.

Agora serai bom estrucutar corretamente o banco: o certo seria:
tabela pagar
codsetor Fk

tabela setores
codsetor Pk

acho que ta errado isso:
inner join  setor on pagar.setor = setor.codigo

o certo seria:
inner join  setor on pagar.codsetor = setor.codsetor
ou
left join  setor on pagar.codsetor = setor.codsetor

   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página