En esta lección explico como se crea un informe de ventas por mes y años.
Colabora y Suscribete a mi canal de 
Debido a que me consultaron mucho esta parte decidi adelantar esta lección en la cual primero creamos una consulta en la base de datos donde relacionamos 3 tablas.
La tabla Ventas con clientes, Tipo de Ventas y Estado de Ventas en MS Access de la siguiente manera:

Luego de tener la consulta lista diseñamos el reporte de listado de ventas quedando de la siguiente manera:

Lo siguiente es el formulario donde seleccionamos el Mes y el Año:

El código el cual filtramos y enviamos la consulta al Data Report queda de la siguiente manera, voy a pegar el código completo de todo el formulario en el vídeo explico todo paso a paso.
Sub ListadoVentas()
Dim RecordVentas As New ADODB.RecordSet
Mes = cmdMeses.ItemData(cmdMeses.ListIndex)
Anio = txtAnio.Text
Sql = "Select * from clta_Litado_Ventas where Month(FechaHora) = " & Mes & " and Year(FechaHora) = " & Anio
Set RecordVentas = ConexionADO.Execute(Sql)
Set Dtr_ListadoVentasMes.DataSource = RecordVentas
With Dtr_ListadoVentasMes
.Sections("Sección4").Controls("lblNombreEmpresa").Caption = Glo_NombreEmpresa
.Sections("Sección2").Controls("Etq_Mes").Caption = cmdMeses.Text
.Sections("Sección2").Controls("EtqAnio").Caption = txtAnio.Text
.Show
End With
End Sub
Sub Imprimir(Opcion)
Select Case Opcion
Case "VentasMes":
ListadoVentas
End Select
End Sub
Private Sub cmdImprimir_Click()
Call Imprimir(glob_Item_Impresion_mes)
End Sub
Private Sub Form_Load()
cmdMeses.ListIndex = Format(Date, "mm") - 1
txtAnio.Text = Format(Date, "yyyy")
End Sub
Private Sub txtAnio_KeyPress(KeyAscii As Integer)
If SoloNumeros(KeyAscii) = False Then
KeyAscii = 0
End If
End Sub
Vídeo Explicativo:
Total Page Visits: 4037 - Today Page Visits: 5

