Ciao Sandro,
ho eseguito i vari JOIN tra le tabelle interessate, ma l'export ha ancora qualche problemino: se dalla mia maschera imposto i filtri dalle caselle di testo o filtro per data nessun problema riesco ad esportare il mio file excel, ma se provo a filtrare la
mia tabella da una qualsiasi casella combinata mi compare un messaggio di errore "Errore di run-time '3079' Il riferimento al campo specificato 'ID_campo' potrebbe essere relativo a più tabelle elencate nella clausola FROM dell'istruzione SQL".
Di seguito ti riporto il codice:
Private Sub ExportExcel_Click()
Dim strSql As String
Dim qdf As DAO.QueryDef
Const queryFilter As String = "QExport"
strSql = "SELECT div.division as Division, disc.discipline as Discipline, plat.platform as Platform, veh.vehicle_programcode as ProgramCode, " _
& "WT.work_task as WorkTask, [CTS id], comp.component as Component, program_description as [Program Description], " _
& "an.Analyst AS Analyst, [Report name], [Release date], Repository, Note " _
& "FROM (((((((Report AS R INNER JOIN Division AS div ON R.[ID_division] = div.[ID_division]) " _
& "INNER JOIN Discipline AS disc ON R.[ID_discipline] = disc.[ID_discipline]) " _
& "INNER JOIN Platform AS plat ON plat.[ID_platform] = R.[ID_platform]) " _
& "LEFT JOIN Vehicle_ProgramCode AS veh ON veh.ID_vehicle_programcode = R.ID_vehicle_programcode) " _
& "INNER JOIN [Work task] AS WT ON WT.ID_work_task = R.ID_work_task) " _
& "LEFT JOIN Components AS comp ON comp.ID_component = R.ID_component) " _
& "INNER JOIN Analysts AS an ON an.ID_Analyst = R.ID_Analyst) " _
& "WHERE " & Me.Filter & " ORDER BY [Release date]"
Set qdf = CurrentDb.CreateQueryDef(Name:=queryFilter, sqlText:=strSql)
DoCmd.TransferSpreadsheet TransferType:=acExport, _
SpreadsheetType:=acSpreadsheetTypeExcel12Xml, _
TableName:=queryFilter, _
FileName:="C:\prova" & Format$(VBA.Now(), "yyyymmdd") & CStr(CLng(VBA.Rnd() * 10000000)) & ".xlsx"
CurrentDb.QueryDefs.Delete Name:=queryFilter
Set qdf = Nothing
End Sub
Grazie per l'aiuto.
Ciao
Claudio