Ho risolto il mio problema, che era originato (credo) da alcuni Riferimenti inesistenti. Aprendo la lista dei riferimenti ho visto che alcuni erano contrassegnati in giallo e dichiarati come inesistenti; li ho rimossi e il Progetto ha subito funzionato. Ovviamente il Riferimento ad Access 12.0 è indispensabile ma non ho avuto problemi con la versione di .NET Framework che nel mio caso è la 4.5.2
La sola cosa che ho dovuto aggiungere è stata la verifica dell'esistenza o meno del File stampato che, se già esistente, generava un errore e un minimo di tempo di attesa per evitare che la Routine terminasse prima di avere chiuso il DB,
Posto lo Script caso mai a qualcuno potesse servire.
codice:
Imports Access = Microsoft.Office.Interop.Access.Application
Public Class StampaPDF
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
On Error GoTo errore_Button1_Click
Dim strUserName As String
Dim TestPDF As String
strUserName = Environ("UserName")
TestPDF = "C:\Users\" & strUserName & "\Desktop\TestPDF.pdf"
If File.Exists(TestPDF) Then
MsgBox("Il File esiste già. Eliminarlo o rinominarlo prima di aprirne un secondo")
Exit Sub
Else
Dim oAccess As Microsoft.Office.Interop.Access.Application
oAccess = New Microsoft.Office.Interop.Access.Application
oAccess.OpenCurrentDatabase(filepath:="S:\ArcSisVBNet\Access2007\ArcSisVBNetServer.accdb", Exclusive:=False)
oAccess.DoCmd.RunMacro("Macro1")
Thread.Sleep(500)
oAccess.Application.CloseCurrentDatabase()
Thread.Sleep(500)
oAccess.Quit()
End If
Exit Sub
errore_Button1_Click:
MsgBox("Errore nella stampa dei Report" & Err.Number & " - " & Err.Description)
End Sub
End Class
Lo Script da utilizzare nel DB di Access 2007 è il seguente:
codice:
Public Function Stampa()
StampaPDF
End Function
Public Sub StampaPDF()
strUserName = Environ("UserName")
DoCmd.OutputTo acOutputReport, "GiacenzaOdierna", acFormatPDF, "C:\users\" & strUserName & "\Desktop\TestPDF.pdf", True
End Sub
Quindi creare la Macro1 che deve "Eseguire Codice" richiamando la Function "Stampa()"
Se qualcuno ha osservazioni o suggerimenti, sono ovviamente i benvenuti.