Discussion:
Aktualisierung der Tabellenverknüpfung per VBA
(zu alt für eine Antwort)
Maik Rudolph
2005-12-07 13:28:12 UTC
Permalink
Hallo NG

ich habe eine Datenbankanwendung die in FE / BE getrennt ist. Jetzt kann es
sein das sich der Speicherort der BE-Datenbank innerhalb des Netzwerkes
verändert.

Momentan versuche ich mich an folgendem...
- Fehlermeldung nach nicht gefundener BE_Datenbank abwarten
- neueingabe des Netzwerkpfades
- Tabelle löschen, neuverknüpfte einfügen mittels docmd.transferdatabase
acLink.....

Das scheint mir viel zu umständlich. Gibt es eine Möglichkeit den
Tabellenverpnüpfungsmanager per VBA zu starten, oder ihm den
Verknüpfungspfad zu übergeben und ihn dann zu starten?

Dass ich dem DB-User den Zugriff auf die Tabellen und somit den
Manager-per-Rechtsklick nicht erlauben möchte will ich nur der
Vollständigkeit halber erwähnen.
Gibt es zu diesem Problem eine bekannte Lösung? Wie gehts einfach,
eleganter?

Danke fürs lesen,
mfg Maik
Gunter Avenius
2005-12-07 13:45:07 UTC
Permalink
Hallo Maik,
Post by Maik Rudolph
ich habe eine Datenbankanwendung die in FE / BE getrennt ist. Jetzt
kann es sein das sich der Speicherort der BE-Datenbank innerhalb
des Netzwerkes verändert.
Momentan versuche ich mich an folgendem...
- Fehlermeldung nach nicht gefundener BE_Datenbank abwarten
- neueingabe des Netzwerkpfades
- Tabelle löschen, neuverknüpfte einfügen mittels
docmd.transferdatabase acLink.....
Das scheint mir viel zu umständlich. Gibt es eine Möglichkeit den
Tabellenverpnüpfungsmanager per VBA zu starten, oder ihm den
Verknüpfungspfad zu übergeben und ihn dann zu starten?
Dass ich dem DB-User den Zugriff auf die Tabellen und somit den
Manager-per-Rechtsklick nicht erlauben möchte will ich nur der
Vollständigkeit halber erwähnen.
Gibt es zu diesem Problem eine bekannte Lösung? Wie gehts einfach,
eleganter?
Lese Access-FAQ Punkt 3.1
--
Gruß
Gunter
_________________________________________________
Access FAQ: http://www.donkarl.com
home: http://www.avenius.com
Maik Rudolph
2005-12-07 15:53:42 UTC
Permalink
Hallo Gunter
Post by Gunter Avenius
Hallo Maik,
Post by Maik Rudolph
ich habe eine Datenbankanwendung die in FE / BE getrennt ist. Jetzt
kann es sein das sich der Speicherort der BE-Datenbank innerhalb
des Netzwerkes verändert.
Momentan versuche ich mich an folgendem...
- Fehlermeldung nach nicht gefundener BE_Datenbank abwarten
- neueingabe des Netzwerkpfades
- Tabelle löschen, neuverknüpfte einfügen mittels
docmd.transferdatabase acLink.....
Das scheint mir viel zu umständlich. Gibt es eine Möglichkeit den
Tabellenverpnüpfungsmanager per VBA zu starten, oder ihm den
Verknüpfungspfad zu übergeben und ihn dann zu starten?
Dass ich dem DB-User den Zugriff auf die Tabellen und somit den
Manager-per-Rechtsklick nicht erlauben möchte will ich nur der
Vollständigkeit halber erwähnen.
Gibt es zu diesem Problem eine bekannte Lösung? Wie gehts einfach,
eleganter?
Lese Access-FAQ Punkt 3.1
Im DonKarl FAQ 3.1 ist zwar grundsätzlich der Weg eines neuen Links gegeben,
doch wird dort von einem gleichen Verzeichnis für FE und BE ausgegangen.
DIes ist bei mir leider nicht gegeben. OK, hätte ich ja auch gleich mit
angeben können, meine Schuld. Sorry.

Danke fürs schnelle Antworten
Gruesse Maik
Gunter Avenius
2005-12-07 16:03:00 UTC
Permalink
Hallo Maik,
Post by Maik Rudolph
Post by Gunter Avenius
Lese Access-FAQ Punkt 3.1
Im DonKarl FAQ 3.1 ist zwar grundsätzlich der Weg eines neuen Links
gegeben, doch wird dort von einem gleichen Verzeichnis für FE und
BE ausgegangen. DIes ist bei mir leider nicht gegeben. OK, hätte
ich ja auch gleich mit angeben können, meine Schuld. Sorry.
Die KnowHow (wie in der FAQ 3.1 erwähnt) hast Du dazu auch scon
angesehen?
--
Gruß
Gunter
_________________________________________________
Access FAQ: http://www.donkarl.com
home: http://www.avenius.com
Maik Rudolph
2005-12-07 17:41:19 UTC
Permalink
Hallo Gunter
Post by Gunter Avenius
Hallo Maik,
Post by Maik Rudolph
Post by Gunter Avenius
Lese Access-FAQ Punkt 3.1
Im DonKarl FAQ 3.1 ist zwar grundsätzlich der Weg eines neuen Links
gegeben, doch wird dort von einem gleichen Verzeichnis für FE und
BE ausgegangen. DIes ist bei mir leider nicht gegeben. OK, hätte
ich ja auch gleich mit angeben können, meine Schuld. Sorry.
Die KnowHow (wie in der FAQ 3.1 erwähnt) hast Du dazu auch scon
angesehen?
Ja habe mir soeben das KnowHow angeschaut und getestet. Funktioniert soweit.
Mit dem Test im Netzwerk muss ich noch bis morgen warten, dann gibt die
Bewährungsprobe.
Danke und Gruss
Maik
Henry Habermacher [MVP Access]
2005-12-07 14:02:33 UTC
Permalink
Hallo Maik
Post by Maik Rudolph
Momentan versuche ich mich an folgendem...
- Fehlermeldung nach nicht gefundener BE_Datenbank abwarten
- neueingabe des Netzwerkpfades
- Tabelle löschen, neuverknüpfte einfügen mittels
docmd.transferdatabase acLink.....
Ja, das wäre ziemlich umständlich, aber machbar.

Einfacher ist es, wenn Du beim Start der Anwendung gleich kontrollierst, ob
die BE überhaupt da ist (z.B. im Start Formular). Falls nicht, dann bietest
Du dem Benutzer einen Dateiauswahl Dialog an (siehe ComDlg32 Ersatz, den es
beim www.dbdev.org im Download Bereich gibt). Wenn er dann eine MDB
ausgewählt hat, dann änderst Du die Connect Eigenschaft der einzelnen
TableDefs, so dass der Pfad wieder stimmt, danach machst Du einen
RefreshLink und schon ist die Tabelle wieder eingebunden. Das Löschen der
Tabellen und Neueinbinden kann zu einem unnötigen Aufblähen der FrontEnd
führen.

Gruss
Henry
--
Keine E-Mails auf Postings in NGs senden!
Don't send e-mails to postings in newsgroups!
KB: http://support.microsoft.com/default.aspx
FAQ: http://www.donkarl.com (neu mit Suchfunktion!)
OH: Online Hilfe von Microsoft Access (Taste F1)
Downloads: http://www.dbdev.org
Maik Rudolph
2005-12-07 15:59:36 UTC
Permalink
Hallo Henry
Post by Gunter Avenius
Hallo Maik
Post by Maik Rudolph
Momentan versuche ich mich an folgendem...
- Fehlermeldung nach nicht gefundener BE_Datenbank abwarten
- neueingabe des Netzwerkpfades
- Tabelle löschen, neuverknüpfte einfügen mittels
docmd.transferdatabase acLink.....
Ja, das wäre ziemlich umständlich, aber machbar.
Einfacher ist es, wenn Du beim Start der Anwendung gleich kontrollierst,
ob die BE überhaupt da ist (z.B. im Start Formular). Falls nicht, dann
bietest Du dem Benutzer einen Dateiauswahl Dialog an (siehe ComDlg32
Ersatz, den es beim www.dbdev.org im Download Bereich gibt). Wenn er dann
eine MDB ausgewählt hat, dann änderst Du die Connect Eigenschaft der
einzelnen TableDefs, so dass der Pfad wieder stimmt, danach machst Du
einen RefreshLink und schon ist die Tabelle wieder eingebunden. Das
Löschen der Tabellen und Neueinbinden kann zu einem unnötigen Aufblähen
der FrontEnd führen.
Gruss
Henry
Habe dein Beispiel gerade mal geladen und werde mich daran einmal versuchen.
Ich habe schon versucht über den FileDialog dieses Problem zu lösen. Jedoch
kann ich mit diesem Dialog nicht auf Laufwerke zugreifen die nicht im
Explorer "Netzlaufwerk verbinden" oder (net use) verbunden sind.
Quasi ein zwar angezeigtes Laufwerk, aber ohne ein richtiges Passwort
einzugeben. Im Explorer wird man anschliessen nach Passwort und
Benutzernamen für das Netzwerklaufwerk gefragt. Unterstützt das deine
Anwendung ebenfalls? Wäre genial.

Danke für deine Bemühungen
Gruss Maik
Henry Habermacher [MVP Access]
2005-12-08 03:47:29 UTC
Permalink
Hallo Maik
Post by Maik Rudolph
Quasi ein zwar angezeigtes Laufwerk, aber ohne ein richtiges Passwort
einzugeben. Im Explorer wird man anschliessen nach Passwort und
Benutzernamen für das Netzwerklaufwerk gefragt. Unterstützt das deine
Anwendung ebenfalls? Wäre genial.
Das ist die Funktionalität des Explorers, nicht des FileDialogs. Windows
braucht da einen anderen FileDialog, ich brauche den von Access. Wenn Access
dasa nicht kann, kann das meine Kapsel darüber auch nicht.

Gruss
Henry
--
Keine E-Mails auf Postings in NGs senden!
Don't send e-mails to postings in newsgroups!
KB: http://support.microsoft.com/default.aspx
FAQ: http://www.donkarl.com (neu mit Suchfunktion!)
OH: Online Hilfe von Microsoft Access (Taste F1)
Downloads: http://www.dbdev.org
Loading...