Olá,
Tente assim:
Select Data, Sum(Valor) as Total From Vendas Where Month(Data) In (5, 6, 7) Group By Data Order By Data
Neste exemplo o banco irá retonar o total de vendas de cada dia dos meses em questão, mas se você quiser o somatório por mês faça assim:
Select Month(Data) as Mes, Sum(Valor) as Total From Vendas Where Month(Data) In (5, 6, 7) Group By Data Order By Month(Data)
Isso dará o total de cada mês. É claro que para melhorar o código, você pode (e deve) criar uma rotina para calcular os meses anteriorer. Se você usar uma caixa de texto para o usuário digitar o mês, poderia ser algo assim:
Dim Mes1 as Integer, Mes2 as Integer
Mes1 = Val(TxtMes.Text) - 1
If Mes1 < 1 Then
Mes1 = 12
End If
Mes2 = Mes1 - 1
If Mes2 < 1 Then
Mes2 = 12
End If
Assim, a parte do seu SQL que filta o mês ficaria assim:
Where Month(Data) In (" & TxtMes.Text & ", " & Mes1 & "," & Mes2 & ")..."
Agora, se não for nada disso que você quer, explique melhor para que possamos te ajudar.
um abraço,
Sandro.