Office: VBA Zugriff auf 32 Bit Access Datenbank von 64 Bit Anwendung

Helfe beim Thema VBA Zugriff auf 32 Bit Access Datenbank von 64 Bit Anwendung in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Zusammen, Seit heute habe ich folgendes Problem: Ich habe mit Access und ProgeCad eine GIS-Anwendung erstellt. Ich greife dabei von Access aus... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von dimpflmoser, 18. September 2017.

  1. VBA Zugriff auf 32 Bit Access Datenbank von 64 Bit Anwendung


    Hallo Zusammen,

    Seit heute habe ich folgendes Problem:

    Ich habe mit Access und ProgeCad eine GIS-Anwendung erstellt. Ich greife dabei von Access aus auf ProgeCad zu und umgekehrt. Von ProgeCad aus greife ich über DAO und ADO auf eine Access 32 Bit mdb zu.

    Nun hat meine Firma auf ProgeCAD 2017 upgedated und dabei ist es so, dass sich auf einem 64 Bit Windows System (Win 7 und 10) nur noch ein 64 Bit ProgeCad installieren lässt. Die declare statements habe ich angepasst, aber offensichtlich ist es nicht möglich, von einer 64 Bit Anwendung per ADO / DAO auf eine 32 Bit Access-Datenbank zuzugreifen - oder?

    Leider können wir weder das 64 Bit Access installieren (fast alle Anwendungen würden nicht mehr funktionieren) noch können wir das 32 Bit progecad installieren...

    Weiß jemand Rat?

    Danke

    :)
     
    dimpflmoser, 18. September 2017
    #1
  2. Ich habe es bisher selbst nicht probiert, aber nach meiner Einschätzung sollte das durchaus funktionieren. Soweit mir bekannt ist, ist das reine Datenbankformat dasselbe. Ich sehe daher keinen Grund, warum es nicht funktionieren sollte. - Dies aber ausschließlich beim Zugriff auf die Daten über ADO/DAO, die Automatisierung von Access wird sicherlich in dem Szenario nicht möglich sein.
     
  3. \@sonic8,
    nur für mein Verständnis:
    ADODB ist ja auch eine COM Komponente. Ich habe da jetzt zu wenig Erfahrung, bin aber davon ausgegangen, dass eine 64 Bit Anwendung auch ein 64Bit ActiveX benötigt.

    Heißt er müsste mit einem 64Bit ADO auf eine 32Bit Access Datei zugreifen oder wie?

    Edit:
    Der Zugriff auf die Daten der Tabellen sollte also möglich sein. Nur beim der Zugriff auf die Access Application gibt es ein Problem?
     
  4. VBA Zugriff auf 32 Bit Access Datenbank von 64 Bit Anwendung

  5. Hi!

    >Ich habe mit Access und ProgeCad eine GIS-Anwendung erstellt
    Hä?

    >Von ProgeCad aus greife ich über DAO und ADO auf eine Access 32 Bit mdb zu
    1. Es gibt keine 32Bit-MDB, eine mdb ist eine mdb.
    2. Wieso mit DAO & ADO, entweder nimmt man das eine oder das andere.

    > Die declare statements habe ich angepasst
    Hä?

    Das hier ist ja ein Access- und kein ProgeCAD-Forum. Wenn du auf Hilfe hoffst, dann erkläre doch mal, um was es geht.

    Gruss
    Jones
     
    CatboyJones, 20. September 2017
    #5
  6. ...###
     
    Kyron9000, 20. September 2017
    #6
  7. Hallo Jones,

    >Ich habe mit Access und ProgeCad eine GIS-Anwendung erstellt
    Entscheidend ist, glaub ich vor allem, dass es sich auf beiden Seiten um vba-codes handelt. Im Falle von ProgeCAD nun um eine 64 Bit Anwendung. Ansonsten könnte ich auch Excel schreiben, das macht wenig Unterschied....

    >Wieso mit DAO & ADO, entweder nimmt man das eine oder das andere.
    Die Anwendung ist über Jahre gewachsen (seit 1997) und umfasst mittlerweile mehr als 200.000 Code-Zeilen. In dieser Zeit hat MS seine Politik, was die lieblings DB-Schnittstelle angeht des öfteren geändert - ja, eigentlich wäre es an der Zeit für ein Clean Up.

    > Die declare statements habe ich angepasst
    Hier ein Beispiel
    32 Bit Vba/Anwendung:
    Code:
    Führt zu einer Fehlermeldung
    64 Bit Vba/Anwendung:
    Code:
    >Das hier ist ja ein Access- und kein ProgeCAD-Forum. Wenn du auf Hilfe hoffst, dann erkläre doch mal, um was es geht.

    Nun ja, zu 50% geht es um ProgeCad, zu 50% eben um Access... Im Prinzip geht es um folgende Codezeilen in ProgeCAD (die mit 32 Bit ProgeCad funktionieren):

    ADO:
    Code:
    Die Fehlermeldung ist logisch, aber scheinbar gibt es keinen 64 Bit ODBC Treiber für Access mdb Datenbanken (jedenfalls werden bei mir nur MSSQL Treiber angezeigt)?

    DAO:
    Code:
    Die Fehlermeldung lautet hier: Run-Time error '429':
    ActiveX component can't create object


    Hallo Nouba,

    danke für den Link - werde mich morgen mal darein vertiefen, ist doch eine Menge zu lesen.

    Hallo Kyron9000,
    ???

    Hallo Sonic8,
    möglicherweise (wahrscheinlich) sind es eher die Datenbank-Treiber? Interessanterweise funktioniert die Automation von Access (2016) zu ProgeCAD problemlos, allerdings gibt es hier auch keine DB-Zugriffe

    Danke an alle
     
    dimpflmoser, 20. September 2017
    #7
  8. VBA Zugriff auf 32 Bit Access Datenbank von 64 Bit Anwendung

    Da würde ich widersprechen, logischerweise kann man beides nutzen, auch parallel.
    DAO ist optimiert für Jet, also für MDB/ACCDB. Über einen Workspace hat man mehrere DB's im Zugriff.
    ADO hat Methoden, die DAO so nicht kennt (Getstring für Textzusammensetzung, Disconnected Recordsets und weitere).

    Idealerweise wird man also kein Zugehörigkeitsbekenntnis abgeben und ausleben, sondern von beiden die Vorteile nutzen, wie von weiteren Zugriffstechniken auch.
     
  9. Hi DM,

    falls es ein anderer gewust hätte, dass es dabei um VBA geht, ich jeden Falls hatte keine Ahnung.

    Hast Du es mal mit 'Microsoft.ACE.OLEDB.12.0' als Provider versucht?

    Gruss
    Jones
     
    CatboyJones, 20. September 2017
    #9
  10. ad...
    ...nachstehendes habe ich leider überlesen und PtrSafe angeboten einzufügen, in diesem Fall leider unnötig und somit ich es wieder gelöscht habe... *Smilie
     
    Kyron9000, 20. September 2017
    #10
  11. Klar, die muss man schon installieren. Hier ein Einstieg, ohne Anspruch auf Vollständigkeit.
    https://www.microsoft.com/en-us/down...190a24fa6=True


    Das ist eher ungewöhnlich. Ich glaube du solltest hierzu mal den Support der CAD-Software kontaktieren. Vielleicht können die dir auch erklären, wie du die 32bit-Version, die es ja gibt, installieren kannst.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  12. \@sonic8,

    das ist bei einem out of process server, was die Access-Anwendung ja darstelt, gar nicht so ungewöhnlich. Nur in process server sind auf Anwendungen der gleichen Befehlsarchitektur beschränkt.
     
  13. VBA Zugriff auf 32 Bit Access Datenbank von 64 Bit Anwendung

    Danke für die Info. Dass der Zugriff über Architekturgrenzen hinaus mit COM grundsätzlich möglich ist, war mir bewusst, aber nicht dass es in vielen Fällen, wie diesem, eigentlich "automatisch" möglich sein sollte.

    Um ehrlich zu sein, ich verstehe die Mechanismen nach einer kurzen Recherche aber noch nicht wirklich vollständig.

    Für den geneigten Mitleser hier ein kurzer Info-Text zu Process Interoperability von MS.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  14. CatboyJones, 20. September 2017
    #14
  15. Hallo zusammen,

    vielen Dank für eure Anmerkungen und Ratschläge. Ich habe die Anleitung aus Jones letztem Post versucht - und es funktioniert alles wie es soll - Danke!

    @jones: Sorry, das mit dem Vba hab ich wirklich in meinem ersten Post vergessen - hätte nicht passieren sollen
     
    dimpflmoser, 21. September 2017
    #15
Thema:

VBA Zugriff auf 32 Bit Access Datenbank von 64 Bit Anwendung

Die Seite wird geladen...
  1. VBA Zugriff auf 32 Bit Access Datenbank von 64 Bit Anwendung - Similar Threads - VBA Zugriff Bit

  2. Datei in mehreren Ordnern suchen und wenn gefunden öffnen?! Macro / VBA

    in Microsoft Excel Hilfe
    Datei in mehreren Ordnern suchen und wenn gefunden öffnen?! Macro / VBA: Hallo Leute, Hoffentlich könnt ihr mir hier helfen, ich krieg den Syntax einfach nicht hin (wahrscheinlich ist es auch totaler käse den ich programmiert habe). Also im Grunde soll eine Datei...
  3. Textteile aus Zelle mit mehreren Absätzen

    in Microsoft Excel Hilfe
    Textteile aus Zelle mit mehreren Absätzen: Hallo, ich habe folgendes Problem: Ich habe in einer Liste in einer Zelle mehrere Angaben aus denen ich Textteile (z.B. alles was in () oder {} ist) herausziehen will, um damit weiter zurechnen....
  4. Zugriff auf andere Excel Datei ohne aktives Öffnen

    in Microsoft Excel Hilfe
    Zugriff auf andere Excel Datei ohne aktives Öffnen: Liebe Community, ich habe mir eine Formel geschrieben um Werte aus einer anderen Excel Datei in meine Haupt Excel Datei einzufügen. Leider muss die Datei aus der ich die Daten haben will immer...
  5. Excel VBA: Zugriff auf anderes Tabellenblatt nicht möglich

    in Microsoft Excel Hilfe
    Excel VBA: Zugriff auf anderes Tabellenblatt nicht möglich: Hallo liebes Forum, ich habe folgendes Problem: Ich habe in einer Userform ein Suchfeld platziert. Über den CommandButton3 soll anschließend das Tabellenblatt "DB" und die Spalte B nach dem...
  6. Zugriff über VBA auf ODBC-verknüpfte Tabellen

    in Microsoft Access Hilfe
    Zugriff über VBA auf ODBC-verknüpfte Tabellen: Hallo, Habe folgendes Problem. Ich möchte über ein VBA auf Daten aus Tabellen zugreifen, welche ich ODBC-verknüpft in meine Datenbank eingebunden habe. Der Befehl is folgender: Set rs =...
  7. VBA - Zugriff auf Excel Dateien in MS-Teams

    in Microsoft Teams Hilfe
    VBA - Zugriff auf Excel Dateien in MS-Teams: Hallo zusammen, ist es möglich per Excel-VBA auf eine Excel-Datei zuzugreifen die in MS-Teams liegt? Der Prozess soll wie folgt aussehen: 1) Datei Status in MS Teams abrufen (ist die Datei...
  8. Zugriff mit VBA auf MAPI32 auf Windows Server 2003

    in Microsoft Access Hilfe
    Zugriff mit VBA auf MAPI32 auf Windows Server 2003: Hallo zusammen, ich habe ein Projekt bei dem ich mit Access (VBA) eine Mail verschicken will. hierzu habe ich folgendes gemacht. Dim MAPISession, MAPIMessages Set MAPISession =...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden