Discussion:
Mit ADO Tabellen neu einbinden bzw. verknüpfen wie?
(zu alt für eine Antwort)
Christof Szelejewski
2006-03-10 18:38:29 UTC
Permalink
Hallo,

ich habe eine A2003 Datenbank mit FE und BE. (Ich weiß so fangen viele
Fragen an :), besonders solche wie meine)
Das FE wird in einer anderen Laufwerk- und Verzeichnisumgebung als die
Produktivdatenbank entwickelt und getestet.
Das FE wird nach Fertigstellung in die Produktivumgebung kopiert und die
Tabellen neu eingebunden.

Solange ich DAO verwende, ist eine VBA-Automatisierung kein Problem.
Entsprechende Beispiele gibt es reichlich und man kann sich wunderbar etwas
zurechschnitzen.

Bei ADO sieht die Sache leider etwas anders aus.
Daher meine Frage: Wie kann ich mit VBA und ADO die Verknüpfungen prüfen
und ggf. neu erstellen bzw. aktualisieren ?
Vielleicht verstehe ich auch nur ADO nicht :(

Für jede Hilfestellung und Beispiel dankbar
chsz
stefan hoffmann
2006-03-11 11:44:52 UTC
Permalink
tach Christof,
Post by Christof Szelejewski
Das FE wird nach Fertigstellung in die Produktivumgebung kopiert und die
Tabellen neu eingebunden.
Solange ich DAO verwende, ist eine VBA-Automatisierung kein Problem.
Bei ADO sieht die Sache leider etwas anders aus.
Daher meine Frage: Wie kann ich mit VBA und ADO die Verknüpfungen prüfen
und ggf. neu erstellen bzw. aktualisieren ?
Gar nicht.
Post by Christof Szelejewski
Vielleicht verstehe ich auch nur ADO nicht :(
Wohl kaum. ADO ist eine RDBMS neutrale Datenzugriffsbibliothek. DAO ist
da schon enger mit Jet verwoben, daher DAO.TableDef(s).


mfG
--> stefan <--
Michael Zimmermann
2006-03-11 13:03:46 UTC
Permalink
Hallo!
Post by stefan hoffmann
Post by Christof Szelejewski
Das FE wird nach Fertigstellung in die
Produktivumgebung kopiert und die Tabellen neu
eingebunden.
Solange ich DAO verwende, ist eine VBA-Automatisierung
kein Problem. Bei ADO sieht die Sache leider etwas
anders aus.
Daher meine Frage: Wie kann ich mit VBA und ADO die
Verknüpfungen prüfen und ggf. neu erstellen bzw.
aktualisieren ?
Gar nicht.
Wenn Du damit genau die ADODB-Bibliothek meinst, okay.
Aber gehen tut es natürlich. Dafür gibt es die zu ADO
gehörige ADOX(Ado Extensions)-Bibliothek.

Das Prinzip sieht so aus:

Public Sub RefreshLinksADOX()

Dim Cat As ADOX.Catalog
Dim Tbl As ADOX.Table

Set Cat = New ADOX.Catalog
Cat.ActiveConnection = CurrentProject.Connection

For Each Tbl In Cat.Tables
If Tbl.Type = "LINK" _
Then
Tbl.Properties("Jet OLEDB:Link Datasource") = _
"C:\Neuer\Pfad\zum\BackEnd.mdb"
End If
Next Tbl

End Sub

Wozu es gut sein soll, ein Jet-BE von DAO auf ADO
umzustellen, steht auf einem anderen Blatt.

Gruß aus Mainz
Michael
stefan hoffmann
2006-03-12 18:46:40 UTC
Permalink
tach Michael,
Post by Michael Zimmermann
Post by stefan hoffmann
Post by Christof Szelejewski
Daher meine Frage: Wie kann ich mit VBA und ADO die
Verknüpfungen prüfen und ggf. neu erstellen bzw.
aktualisieren ?
Gar nicht.
Wenn Du damit genau die ADODB-Bibliothek meinst, okay.
Ja.
Post by Michael Zimmermann
Aber gehen tut es natürlich. Dafür gibt es die zu ADO
gehörige ADOX(Ado Extensions)-Bibliothek.
Das ist richtig. Aber wie gesagt: Extension.)


mfG
--> stefan <--
Klaus Oberdalhoff
2006-03-11 13:15:47 UTC
Permalink
Hi,

ich habe eine A2003 Datenbank mit FE und BE. (Ich weiß so fangen viele
Post by Christof Szelejewski
Fragen an :), besonders solche wie meine)
Das FE wird in einer anderen Laufwerk- und Verzeichnisumgebung als die
Produktivdatenbank entwickelt und getestet.
Das FE wird nach Fertigstellung in die Produktivumgebung kopiert und
die Tabellen neu eingebunden.
Solange ich DAO verwende, ist eine VBA-Automatisierung kein Problem.
Entsprechende Beispiele gibt es reichlich und man kann sich wunderbar
etwas zurechschnitzen.
Bei ADO sieht die Sache leider etwas anders aus.
Daher meine Frage: Wie kann ich mit VBA und ADO die Verknüpfungen
prüfen und ggf. neu erstellen bzw. aktualisieren ?
Vielleicht verstehe ich auch nur ADO nicht :(
nenne mir bitte einen Grund, für die Einbindung NICHT weiterhin DAO zu
verwenden. (Never change a running system). Wenn dein Grund purer Purismus
(ich will auf ADO(X) aber keine gemischte Umgebung mit DAO) ist, so kann ich
dir nicht weiterhelfen. Zwingend auf ADO umsteigen müsstest du nur bei der
Verwendung von ASP oder ADPs - und da hast du das Problem nicht, MDBs
einzubinden, da es schlichtweg so überhaupt nicht geht. (Zumal in Hinblick
auf Office 2007: DAO wird weiterentwickelt, ADO ist eingefroren ...)

Also meine Gegenfrage: Worin liegt dein Problem ?

Normalerweise kannst du durchaus auch ADO und DAO - bei sauberer
Programmierung - gemischt (also beide zusammen) relativ problemarm
verwenden. Ich persönlich habe das ein zwei mal gemacht und keine Probleme
damit - aber ich bevorzuge - aus Bequemlichkeit - weiterhin DAO auch wenn
als Backend der SQL Server oder andere im Einsatz ist.
--
mfg

Klaus Oberdalhoff ***@gmx.de

Ich beantworte keine NG-Fragen und -Nachfragen per Mail!
Newbie-Info: http://www.doerbandt.de/Access/Newbie.htm
KnowHow-mdb und andere Beispiele: http://www.freeaccess.de
Sofern Access 200x bitte beachten:
http://www.freeaccess.de/MS-Access-Artikel.asp?ID=99
Christof Szelejewski
2006-03-11 16:22:42 UTC
Permalink
Am Fri, 10 Mar 2006 19:38:29 +0100 schrieb Christof Szelejewski:

Danke für die Hilfe und die Kommentare.

Ich wollte eine neue Anwendung erstellen die u.U. später von Jet auf einen
SQL-Server umgestellt werden sollte, und daher schon bei der Entwicklung
möglichst "sauber" bzw. pur-ADO programmieren.
Allerdings wollte ich auf bestimmte DAO-Schmankerl nicht verzichten ;), man
ist halt bequem.

Nach dem ich mir das Beispiel und vor allem die Kommentare durchgelesen
habe, werde ich mein Vorgehen wohl etwas überdenken.

Noch mal danke
chsz
Klaus Oberdalhoff
2006-03-16 13:16:51 UTC
Permalink
Hi,
Post by Christof Szelejewski
ich habe eine A2003 Datenbank mit FE und BE. (Ich weiß so fangen viele
Fragen an :), besonders solche wie meine)
Das FE wird in einer anderen Laufwerk- und Verzeichnisumgebung als die
Produktivdatenbank entwickelt und getestet.
Das FE wird nach Fertigstellung in die Produktivumgebung kopiert und
die Tabellen neu eingebunden.
Solange ich DAO verwende, ist eine VBA-Automatisierung kein Problem.
Entsprechende Beispiele gibt es reichlich und man kann sich wunderbar
etwas zurechschnitzen.
Bei ADO sieht die Sache leider etwas anders aus.
Daher meine Frage: Wie kann ich mit VBA und ADO die Verknüpfungen
prüfen und ggf. neu erstellen bzw. aktualisieren ?
Vielleicht verstehe ich auch nur ADO nicht :(
Nachtrag:

lies mal

http://support.microsoft.com/kb/275249/en-us
--
mfg

Klaus Oberdalhoff ***@gmx.de

Ich beantworte keine NG-Fragen und -Nachfragen per Mail!
Newbie-Info: http://www.doerbandt.de/Access/Newbie.htm
KnowHow-mdb und andere Beispiele: http://www.freeaccess.de
Sofern Access 200x bitte beachten:
http://www.freeaccess.de/MS-Access-Artikel.asp?ID=99
Loading...