none
Mit VB.NET externe Tabellen mit Access 2007 verknüpfen RRS feed

  • Frage

  • Hallo liebe Gemeinde,

    ich möchte gerne per VB.NET externe Tabellen mit Access verknüpfen. Bevor ich also die Verbindung zu Access herstelle, sollen externe Tabellen mit meiner Access-Datenbank verbunden werden, danach möchte ich die Abfrage machen um die verknüpften Tabellen anschließend gleich wieder zu lösen. Ist soetwas möglich? Könnt Ihr mir da helfen? Tausend Dank im Voraus!

    Gruß
    Marcus


    Der erste Tag, an dem ich nichts Neues lerne, wird der Tag sein, an dem sich der Deckel über mir schließt...
    Dienstag, 30. August 2011 09:09

Antworten

  • Die OleDb-Schnittstelle, die in VB.NET unterstützt wird, kennt keine Möglichkeiten, in die Innereien einer Access-Datei einzudringen, außer den datenbanktypischen Zugriffen. Aus diesem Grund musst Du das alte Com-Objekt ADOX bemühen. Das geht genau so, wie auch unter VB6 unter Beachtung der Besonderheiten bei der Nutzung von Com-Objekten unter VB.NET.
     
    --
    Viele Gruesse
    Peter
    • Als Antwort vorgeschlagen Robert Breitenhofer Dienstag, 30. August 2011 16:53
    • Als Antwort markiert mjanz Montag, 5. September 2011 14:41
    Dienstag, 30. August 2011 13:44
  • Hallo Marcus,

    das läuft äquivalent wie in VB Classic (bzw. VBA) denn dazu gibt es in .NET kein Äquivalent.

    Siehe dazu:
    ACC2000: Verwenden von ADOX erstellen und Aktualisieren von verknüpften Jet-Tabellen

    Gruß Elmar

     

    • Als Antwort markiert mjanz Montag, 5. September 2011 14:41
    Dienstag, 30. August 2011 21:26
  • Hallo Marcus,

    muss Access auf dem Installationsrechner installiert sein, wenn ich die ADOX-Klassen nutze, oder nicht?

    Nein. ADOX ist in der Regel eh vorhanden, Access selbst muss nicht installiert sein. Allerdings kann es sein, dass Du deine Anwendung explizit als x86 (32 Bit) Anwendung kompilieren musst, damit das auch auf 64 Bit Systemen läuft. ADOX gibt es IIRC nur für 32 Bit (wie auch die Jet-Engine, die 64 Bit Variante wäre ACE)

     

     

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    • Als Antwort markiert mjanz Montag, 5. September 2011 17:49
    Montag, 5. September 2011 15:32
    Moderator
  • Acces bwird für die Nutzung von ADOX nicht benötigt. Es reicht, wenn MDAC 2.8 installiert ist.
    --
    Viele Gruesse
    Peter
    • Als Antwort markiert mjanz Montag, 5. September 2011 17:49
    Montag, 5. September 2011 16:43

Alle Antworten

  • Das geht, indem Du ADOX bemühst.
    --
    Viele Gruesse
    Peter
    Dienstag, 30. August 2011 10:13
  • Hallo Peter,

    kannst Du das genauer spezifizieren? Wenn ich das Stichwort ADOX google, dann bekomme ich zu meinem Thema viele Treffer für VB5/6, aber nicht für VB.NET. Das kann auch an mir liegen, aber ich komme nicht weiter...

    Gruß
    Marcus
    Der erste Tag, an dem ich nichts Neues lerne, wird der Tag sein, an dem sich der Deckel über mir schließt...
    Dienstag, 30. August 2011 12:41
  • Die OleDb-Schnittstelle, die in VB.NET unterstützt wird, kennt keine Möglichkeiten, in die Innereien einer Access-Datei einzudringen, außer den datenbanktypischen Zugriffen. Aus diesem Grund musst Du das alte Com-Objekt ADOX bemühen. Das geht genau so, wie auch unter VB6 unter Beachtung der Besonderheiten bei der Nutzung von Com-Objekten unter VB.NET.
     
    --
    Viele Gruesse
    Peter
    • Als Antwort vorgeschlagen Robert Breitenhofer Dienstag, 30. August 2011 16:53
    • Als Antwort markiert mjanz Montag, 5. September 2011 14:41
    Dienstag, 30. August 2011 13:44
  • Hallo Marcus,

    das läuft äquivalent wie in VB Classic (bzw. VBA) denn dazu gibt es in .NET kein Äquivalent.

    Siehe dazu:
    ACC2000: Verwenden von ADOX erstellen und Aktualisieren von verknüpften Jet-Tabellen

    Gruß Elmar

     

    • Als Antwort markiert mjanz Montag, 5. September 2011 14:41
    Dienstag, 30. August 2011 21:26
  • Hi,

    bitte entschuldigt die späte Rückmeldung. Ich bin nicht eher dazu gekommen, mich damit zu beschäftigen ... Ich habe es so zu Laufen bekommen. Perfekt!!! Dankeschön! Eine Frage habe ich noch: muss Access auf dem Installationsrechner installiert sein, wenn ich die ADOX-Klassen nutze, oder nicht?

    Ich freue mich auf Eure Antwort!

    Gruß
    Marcus 


    Der erste Tag, an dem ich nichts Neues lerne, wird der Tag sein, an dem sich der Deckel über mir schließt...
    Montag, 5. September 2011 14:45
  • Hallo Marcus,

    muss Access auf dem Installationsrechner installiert sein, wenn ich die ADOX-Klassen nutze, oder nicht?

    Nein. ADOX ist in der Regel eh vorhanden, Access selbst muss nicht installiert sein. Allerdings kann es sein, dass Du deine Anwendung explizit als x86 (32 Bit) Anwendung kompilieren musst, damit das auch auf 64 Bit Systemen läuft. ADOX gibt es IIRC nur für 32 Bit (wie auch die Jet-Engine, die 64 Bit Variante wäre ACE)

     

     

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    • Als Antwort markiert mjanz Montag, 5. September 2011 17:49
    Montag, 5. September 2011 15:32
    Moderator
  • Acces bwird für die Nutzung von ADOX nicht benötigt. Es reicht, wenn MDAC 2.8 installiert ist.
    --
    Viele Gruesse
    Peter
    • Als Antwort markiert mjanz Montag, 5. September 2011 17:49
    Montag, 5. September 2011 16:43
  • Hallo Stefan, Hallo Peter,

    die Anwendung ist ohnehin auf 32 bit kompiliert. Wir arbeiten in der Firma (zurzeit noch...)  mit Win XP Prof. Mein Rechner hat schnieke 2GB Arbeitsspeicher. Ich bin mir nicht ganz sicher, wann auf Windows 7 umgestellt wird, aber vorher wird 64 bit, glaube ich, keine Rolle spielen. Ich werde mir das MDAC 2.8 herunterladen und mit in das Setup einbauen. Tausend Dank für Eure Hilfe!

    Gruß
    Marcus 


    Der erste Tag, an dem ich nichts Neues lerne, wird der Tag sein, an dem sich der Deckel über mir schließt...
    Montag, 5. September 2011 17:36
  • Hallo Marcus,

    wenn eure XP Clients nicht hoffnungslos veraltet sind, ist MDAC 2.8 schon drauf, da das bspw. im XP ServicePack 2 enthalten war. Siehe dazu:

      http://msdn.microsoft.com/en-us/library/ms810810.aspx

    Ansonsten sollte ADOX auch mit früheren MDAC Versionen funktionieren, empfehlenswert ist es aber natürlich nicht, auf einem alten (unsicheren) Stand zu arbeiten.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Montag, 5. September 2011 18:52
    Moderator