Buonasera a tutti, sto riscontrando difficoltà a esportare in un mio file excel dei dati relativi a dei fatturati da mettere a confronto. vi faccio un esempio, necessito di visualizzare l'andamento da gennaio 2018 fino a maggio 2018 e rapportarlo a quello da gennaio 2017 a maggio 2017.
Tramite delle query a campi incrociati e successivamente inserendo dei filtri sul mese (Month(campodata)<=5) sono riuscito ad ottenere quello che volevo, ma andando ad automatizzare con una maschera e codice vba, la cosa non tunziona.
Io ho scritto questo codice:
Dim dbs As Database
Dim rs As Recordset
Dim strSQL As String
Set dbs = CurrentDb
strSQL = "TRANSFORM Sum(ORDINI.NETTO) AS SommaDiNETTO Select ORDINI.FAMIGLIA FROM ORDINI WHERE (Month([DATA])<='" & Me.MESE & "') GROUP BY ORDINI.FAMIGLIA PIVOT Format([ORDINI.DATA], 'yyyy')"
Me.MESE.SetFocus
Set rs = dbs.OpenRecordset(strSQL)
Dim oApp As Object
Dim oExe As Workbook
Set oApp = CreateObject("Excel.Application")
Set oExe = oApp.Workbooks.Open(Application.CurrentProject.Path & "\TEST.xlsx")
oExe.Application.Visible = True
oExe.Application.Cells(1, 1) = "FAMIGLIA"
oExe.Application.Cells(1, 2) = "ANNO PRECEDENTE"
oExe.Application.Cells(1, 3) = "ANNO CORRENTE"
Specifico che in questo modo per l'anno precedente mi somma valori anche di periodi diversi dal mese da me selezionato, ma se trasformo la WHERECONDITION da (Month([DATA])<='" & Me.MESE & "') in (Month([DATA])='" & Me.MESE & "'), funziona correttamente mostrandomi solo il mese selezionato sia di un anno che dell'altro.
Qualcuno che ha capito cosa voglio fare riuscirebbe ad aiutarmi? Grazie.