TOTAL POR FAIXA DE DATA E REGISTRO DIFERENTE

JAIRORCI 20/05/2011 22:16:03
#374616
Boa noite pessoal.
Estou precisando de uma grande ajuda.
Estou trabalhando com VB.net 2010 express e não tem Crystal Reports.
Utilizo um banco Access e preciso gerar um relatório que dentro de um periodo de data e que me gere o total em R$ de todos os registros diferentes.
Exemplo:
Tabela Grupo -> nesta tabela é cadastrado grupos de trabalho - exemplo: Taboao, Diva, Santa Cruz e etc.. Pode variar a cada periodo.
Tabela Despesa - nesta tabela, tenho a despesas de cada Grupo..
Preciso totalizar estas despesas sendo a base a tabela Grupo.

O relatorio tem que sair mais ou menos assim, lembrando que sera cadastrado diversos Grupos e poderá repetir muitas vezes e preciso a soma deles.


Despesas a vencer no periodo 10/05/2011 à 20/05/2011
-------------------------------------------------------------------------------------------
Taboao = R$ 2.433,00
Diva = R$ 1.433,00
Santa Cruz = R$ 0,00
e assim por diante..

Nem imagino como fazer sem o Crystal Reports.. até baixei ele, mas não instala no Express.
ADHEL 21/05/2011 12:52:22
#374643
Como você não colocou a estrutura das tabelas vou montar a query assim

Tabela_Grupo Tabela_Despesa

ID ID
Nome IdGrupo
Valor
Data


Vamos supor que a tabela_grupo esteja ssim

Tabela_Grupo

ID Nome
1 Taboao
2 Diva
3 Santa Cruz

e que a tabela_despesa esteja assim

ID = numero da despesa
IdGrupo = id correspondente da tabela_grupo
Valor= valor da despesa
Data= data da despesa

Aqui estou usando Mysql mas é só alterar para access(OLEDB...)


Dim da As New MySqlDataAdapter([Ô]select tg. Nome,Sum(td. valor) as Total from tabela_grupo tg , tabela_despesa td where tg. id = td. idgrupo and td. data between [ô][Ô] & Format(DTPicker1.Value, [Ô]yyyy/MM/dd[Ô]) & [Ô][ô] and [ô][Ô] & Format(DTPicker2.Value, [Ô]yyyy/MM/dd[Ô]) & [Ô][ô] group by td. idgrupo order by tg. nome[Ô], Sua_Conexao)

Dim dt As New DataTable

da.Fill(dt)

With Seu_DataGridView
.DataSource = dt
.Columns(0).Width = 500
.Columns(1).Width = 150
.Columns(1).DefaultCellStyle.Format = [Ô]c[Ô]
End With


Esses DtPicker são DatetimePickers
Acredito que é so mudar a forma que o access pesquisa por data.

E depois você manda imprimir o datagrid.Aqui no Vbmania tem exemplos de como imprimir
Tópico encerrado , respostas não são mais permitidas