Inventor VBA, Daten aus einer MS Access DB auslesen

Inventor VBA, Daten aus einer MS Access DB auslesen

h_schuetzeneder
Enthusiast Enthusiast
1.293Aufrufe
9Antworten
Nachricht 1 von 10

Inventor VBA, Daten aus einer MS Access DB auslesen

h_schuetzeneder
Enthusiast
Enthusiast

Hallo Forum

Neuer Tag – neues Problem.

In meinem Programm zum Export der Baugruppenstückliste ist eine Funktion enthalten die automatisch  die deutsche Benennung ins Englische und Französische übersetzt. Die Übersetzung funktioniert einfach über eine AccessDB in der die Benennung in der entsprechenden Sprache steht.

Das hat bisher immer ohne Probleme funktioniert, bis wir jetzt auf Office 365 gewechselt haben.

Nun kommt eine Fehlermeldung sobald er auf die DB zugreifen will (…kann das Objekt nicht erstellen…). Könnt ihr mir da weiterhelfen ob und wie ich meinen VBA Code anpassen muss.

 

Public Function Translate(NameDeu As String, ByRef NameEng, ByRef NameFra) As String
    'Funktion um die Benennung ins englische und französische zu übersetzen
    Dim MyDatabase As String
    MyDatabase = "N:\Department\Technik\Datenexport\0 - Vorlagen\scala.mdb"
    Dim dbInfo As Database
    Dim rsInfo As Recordset
    Set dbInfo = OpenDatabase(MyDatabase) '<<<<<<< da kommt der Fehler >>>>>>>>
    Set rsInfo = dbInfo.OpenRecordset("SELECT * FROM SPRACHTABELLE WHERE Deutsch='" & NameDeu & "'", dbOpenDynaset)
    If (rsInfo.RecordCount <> 0) Then
        NameEng = rsInfo("Englisch")
        NameFra = rsInfo("Französisch")
    End If
    rsInfo.Close
    dbInfo.Close
    Set rsInfo = Nothing
    Set dbInfo = Nothing
End Function
0 „Gefällt mir“-Angaben
Akzeptierte Lösungen (1)
1.294Aufrufe
9Antworten
Antworten (9)
Nachricht 2 von 10

Juergen_Wagner
Advisor
Advisor

Den Verweis auf die neue Access-Version hast du aber schon unter Extras > Verweise im VBA Editor gesetzt?

siehe hier unten zum Thema Verweise https://inventorfaq.blogspot.de/2017/03/inventor-automatisieren-programmieren_27.html

 

 

0 „Gefällt mir“-Angaben
Nachricht 3 von 10

h_schuetzeneder
Enthusiast
Enthusiast

Hallo Juergen

Ja hab ich, und es ist natürlich auch alles auf 64 Bit.

0 „Gefällt mir“-Angaben
Nachricht 4 von 10

Juergen_Wagner
Advisor
Advisor
64 bit? Ist das das Problem? Inventor VBA ist 32bit. Kannst du eine 32 Bit Accessversion zum testen installieren?
Lies dir das mal durch.
http://modthemachine.typepad.com/my_weblog/2013/09/using-ms-access-databases-with-inventor-2014-vba....
0 „Gefällt mir“-Angaben
Nachricht 5 von 10

h_schuetzeneder
Enthusiast
Enthusiast

Glaub ich nicht.

Ich ab doch auch schon bisher mit 64Bit gearbeitet. Inventor 2016 64Bit / Office 2010 64Bit.

Der aktuelle VBA Editor 7.1 unterstützt auch beide Versionen.

0 „Gefällt mir“-Angaben
Nachricht 6 von 10

Juergen_Wagner
Advisor
Advisor
Akzeptierte Lösung

Hast du den Artikel im Link oben gelesen?

 

Possible Solutions

  1. Install a 64-bit version of Office (but not Office 365 because of Issue 2 described above). Installing Office will also install the OLEDB Provide component.
  2. If you’ve installed MS Office 365, you can install the Microsoft Access Database Engine 2010 Redistributable. Make sure you select the file “AccessDatabaseEngine_x64.exe” for download to get the 64-bit version.  Be aware that this still doesn’t solve the issue of having both the 32 and 64 bit versions of the component installed at the same time.
Nachricht 7 von 10

h_schuetzeneder
Enthusiast
Enthusiast

Ok. Jetzt hab ich’s genau gelesen, ob ich es Verstanden habe …?

Also ich hab Office 365 64 Bit und ich hab Inventor 2018 64Bit.

Nun installiere ich noch die „AccessDatabaseEngine_X64“, dann ist alles wieder oK?

Ich wird’s morgen testen.

0 „Gefällt mir“-Angaben
Nachricht 8 von 10

Juergen_Wagner
Advisor
Advisor
0 „Gefällt mir“-Angaben
Nachricht 9 von 10

Dennis.Ossadnik
Autodesk Support
Autodesk Support

Hallo @h_schuetzeneder,

 

ich wollte einmal nachfragen, ob Du die Tipps von @Juergen_Wagner schon einmal testen konntest.

 

Funktioniert die Anbindung wieder?

 



Dennis Ossadnik
Senior Technical Support Specialist
0 „Gefällt mir“-Angaben
Nachricht 10 von 10

h_schuetzeneder
Enthusiast
Enthusiast

Hallo Juergen

 

PASST, nach der Installation der „AccessDatabaseEngine_X64“ war der Datenzugriff auf AccessDB wieder uneingeschränkt möglich. Es waren auch keinerlei Änderungen im VBA-Programmcode notwendig. DANKE für deine schnelle und kompetente Hilfe!

 

Nachtrag zu „Inventor VBA: Skizzensymbol einfügen am Mauszeiger„

Mit dem mir bekannten Errorhandling war es nicht möglich den fatalen Inventor Error bei der Version mit dem „CommandManager„ (Vorschlag von sth) zu verhindern. Ich bin deshalb wieder zu dem ursprünglichen Code zurückgekehrt.