Benutzer mit den meisten Antworten
Mit VB.NET externe Tabellen mit Access 2007 verknüpfen

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...
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
-
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-TabellenGruß Elmar
- Als Antwort markiert mjanz Montag, 5. September 2011 14:41
-
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
Alle Antworten
-
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... -
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
-
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-TabellenGruß Elmar
- Als Antwort markiert mjanz Montag, 5. September 2011 14:41
-
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... -
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
-
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... -
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