# Access Tabelle per VBA verknüpfen



## Thomas Darimont (13. August 2003)

Servus!

Hab gerade herausgefunden, wie man eine Accesstabelle (tblTest) aus a.mdb per Code mit der Datei b.mdb Verknüpfen (von b aus gesehen) kann. Das will ich euch nun natürlich nicht vorenthalten ;-)

Folgender Code macht das gleiche wie der Tabellenverknüpfungsmanager:


```
Dim db1 As Database
Set db1 = CurrentDb()
db1.TableDefs("tblTest").Connect = "DATABASE=C:\verz1\save\07.08.2003\a.mdb"
```

Gruß Tom


----------



## jkomsthoeft (5. März 2004)

Hallo,

erstmal danke für dein Posting. Hab nämlich genau das Problem, daß ich mit VBA Tabellen verknüpfen muss.
Leider bin ich noch nicht so fit mit VBA.
Aber jetzt hab ich es doch geschafft, mit deinem Code eine Tabelle zu verknüpfen.
Froh, daß das geklappt hat, dachte ich mir, ich lösch die Verknüpfung und versuch es nochmal. Jetzt kommt aber immer die Fehlermeldung:
"Laufzeitfehler 3265"
"Element in dieser Auflistung nicht gefunden".

Woran liegt das ?

Jetzt hab ich heute morgen auf einem anderen Rechner diesen Code eingegeben und ausprobiert und das gleiche. Das erste mal klappt es aber nach löschen der Verknüpfung klappts nicht meht.

Hast du vielleicht eine Idee ?

Besten Danke schonmal.
Joachim

Hier noch der Code:

Function ii()
Dim dbtest As Database

Set dbtest = CurrentDb()

dbtest.TableDefs("Test").Connect = "DATABASE=y:\RomeyDaten.mdb"

End Function


----------



## heß (5. Dezember 2007)

Hallo,
Vielen Dank für den Hinweis.
Habe in ausprobiert, geht auch grundätzlich, aber nicht vollständig.
Ich habe folgenden Code probiert:

Dim db1 As Database
Set db1 = CurrentDb()
MsgBox db1.TableDefs("bundesland").Connect
db1.TableDefs("bundesland").Connect = "DATABASE=d:\arbeit\vb\nv.mdb"
MsgBox db1.TableDefs("bundesland").Connect

Dim Z As Recordset
Set Z = db1.OpenRecordset("bundesland")
MsgBox Z!Text

Die Msgbox 1 bringt den alten Speicherort, die 2. den neuen Speicherort, alles ok.
nur bei der Öffnung als Recordset kommt der Fehler das die Datei (alter Speicherort nicht vorhanden ist = ok, sie ist ja jetzt am neuen Speicherort). mit dem neuen Connect sollte eigentlich auf den neuen Speicherort zugeriffen werden.
im Tabellenverknüpfungs-Manager von ACCESS 2003 ist danach auch der alte Speicherort noch angegeben. 
Was mache ich falsch?  Ich habe auch schon den vollen Connect-String getestet, ebenfalls falsch.
Vielen Dank für die Antwort.
Gutes Forum!
HH


----------

