Buongiorno gibra.
Come hai spiegato, ho scaricato e convertito il DB nwind nella versione 2002-2003. Si è autoposizionato in ...\user\mionome\documenti\nwind.mdb.
Quindi, nel Button della Form1 ho copiato il codice che hai indicato con le impostazioni suggerite (x86 in Proprietà di WindowsApplication1, ma sono stato costretto a lasciare il riferimento Microsoft Access 12.0 Object Library, senza il quale avevo degli errori), ed ho ottenuto questo:
codice:
Imports Access = Microsoft.Office.Interop.Access.Dao
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim oAccess As Microsoft.Office.Interop.Access.Application
oAccess = New Microsoft.Office.Interop.Access.Application
oAccess.DoCmd.OpenReport(ReportName:="Catalog", View:=acViewPreview)
End Sub
End Class
Subito il codice mi ha avvertito che la stringa "View:=acViewPreview" non è corretta e che dovevo correggerla come segue:
codice:
Imports Access = Microsoft.Office.Interop.Access.Dao
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim oAccess As Microsoft.Office.Interop.Access.Application
oAccess = New Microsoft.Office.Interop.Access.Application
oAccess.DoCmd.OpenReport(ReportName:="Catalog", View:=Microsoft.Office.Interop.Access.AcView.acViewPreview)
End Sub
End Class
Immagino inoltre che Catalog dovesse essere convertito nel Path del File nwind.mdb, e così ho fatto:
codice:
oAccess.DoCmd.OpenReport(ReportName:="C:\Users\mionome\Documents\Nwind.mdb", View:=Microsoft.Office.Interop.Access.AcView.acViewPreview)
Ho lanciato il debug e la finestra del Form1 si è aperta correttamente, ma premendo su Button1 ho ottenuto, in corrispondenza della Stringa
codice:
oAccess = New Microsoft.Office.Interop.Access.Application
il messaggio:
"Eccezione non gestita di tipo 'System.Runtime.InteropServices.COMException' in mscorlib.dll
Ulteriori informazioni: Recupero della class factory COM per il componente con CLSID {73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9} non riuscito a causa del seguente errore: 800702e4 Per eseguire l'operazione richiesta è necessaria l'esecuzione con privilegi elevati. (Eccezione da HRESULT: 0x800702E4)."
Ho anche impostato nelle Proprietà di MSACCESS.EXE "Esegui come Amministratore", ma nulla è cambiato. Oltre non sono riuscito ad andare.