RELATÓRIO DE VENDAS POR PERÍODO

BASSO 05/09/2014 19:36:41
#441004
Preciso de ajuda para criar um relatório de Orçamentos gerados numa determinada data . no form contendo 1 DataCombo Cliente ,2 Dtpicker sendo data inicio e data fim com um cmdImprimir , data report ,banco de dados mysql. Se alguém puder me ajudar.


-------------------------------------------------------------------------------------------------
Cliente:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
orçamento gerados no mês xx
------------------------------------------------------------------------------------------------
data nº Orç. Descrição Qtd. Vlr Unit. Valor Total
xx/xx/xxxx xx xxxxxxxxxxxxxxxxxxx xx xxx xxxxxx
xxxxxxxxxxxxxxxxxxx xx xxxx xxxxxx
------------
Total xxxxxx
--------------------------------------------------------------------------------------------------
data nº Orç. Descrição Qtd. Vlr Unit. Valor Total
xx/xx/xxxx xx xxxxxxxxxxxxxxxxxxx xx xxx xxxxxx
xxxxxxxxxxxxxxxxxxx xx xxxx xxxxxx
------------
Total xxxxxx

--------------------------------------------------------------------------------------------------
Total Geral ===> xxxxxxxxxx
MOREIRA 07/09/2014 00:21:09
#441016
      sql = [Ô]Select * from suatabela [Ô]
sql = sql & [Ô] Where titulo_data_vencto >=[ô][Ô] & Format(Date_ini, [Ô]yyyy-mm-dd[Ô]) & [Ô][ô]titulo_data_vencto <=[ô][Ô] & Format(Date_fim, [Ô]yyyy-mm-dd[Ô])




depende do banco de dados .. esse exemplo funciona no mysql
BASSO 07/09/2014 14:18:24
#441024
Acho que não expliquei direito.Preciso de um relatório igual da imagem Esse é o form.


Esse é o código que estou usando.

Private Sub cmdImprimir_Click()
Dim vDataInicial As String
Dim vDataFinal As String

If DatProdutos.Text = [Ô][Ô] Then
DatProdutos.SetFocus
Exit Sub
End If

[ô]Formata as variáveis para o padrão da instrução SQL
vDataInicial = Format(txtDataInicial.Value, [Ô]yyyy-mm-dd[Ô])
vDataFinal = Format(txtDataFinal.Value, [Ô]yyyy-mm-dd[Ô])

Comando.ActiveConnection = Conexao
Comando.CommandType = adCmdText
[ô]Instrução SQL para impressão do relatório,
[ô]lembrando que a utilização do inner join tem a função de relacionar tabelas.
Comando.CommandText = [Ô]Select ORCAMENTO_CAB.DATA_ORCAMENTO, ORCAMENTO_DET.ID,PRODUTOS.DESCRICAO, [Ô] _
& [Ô]ORCAMENTO_DET.QTDE, ORCAMENTO_DET.VLR_UNITARIO [Ô] _
& [Ô]From ORCAMENTO_DET inner join ORCAMENTO_CAB on ORCAMENTO_DET.ID_ORCAMENTO=ORCAMENTO_CAB.ID [Ô] _
& [Ô]inner join CLIENTES on ORCAMENTO_CAB.ID_CLIENTE=CLIENTES.ID [Ô] _
& [Ô]inner join PRODUTOS on PRODUTOS.ID=ORCAMENTO_DET.ID_PRODUTO [Ô] _
& [Ô]Where CLIENTES.RAZAO_NOME = [ô][Ô] & DatProdutos.Text & [Ô][ô] and ORCAMENTO_CAB.DATA_ORCAMENTO [Ô] _
& [Ô]Between [ô][Ô] & vDataInicial & [Ô][ô] And [ô][Ô] & vDataFinal & [Ô][ô][Ô] _
& [Ô] Order By ORCAMENTO_CAB.DATA_ORCAMENTO[Ô]
Comando.Execute
Consulta.CursorLocation = adUseClient
Consulta.Open Comando
Set RelVendaProd.DataSource = Consulta
RelVendaProd.DataMember = [Ô][Ô]
[ô]Atribui cada campo na ordem do SQL a uma caixa de texto do relatório
With RelVendaProd.Sections([Ô]Section1[Ô]).Controls
.Item(1).DataField = Consulta(0).Name
.Item(2).DataField = Consulta(1).Name
.Item(3).DataField = Consulta(2).Name
.Item(5).DataField = Consulta(3).Name
.Item(4).DataField = Consulta(4).Name
End With
[ô]Atribui a função soma do relatório o campo quantidade para somatória.
RelVendaProd.Sections([Ô]Section5[Ô]).Controls.Item(2).DataField = Consulta(3).Name
RelVendaProd.Sections([Ô]Section4[Ô]).Controls.Item(2).Caption = Format(Now, [Ô]dd/mm/yyyy - hh:mm[Ô])
RelVendaProd.Refresh
RelVendaProd.Show vbModal
Consulta.Close
Unload Me

End Sub

Preciso fazer um relatório assim:Se Alguém puder me ajudar agradeço



Faça seu login para responder