Benutzer mit den meisten Antworten
Excel Tabelle verknüpfen

Frage
-
Hallo zusammen,
ist es möglich eine Excel Tabelle zu verknüpfen ohne das der komplette Pfad gespeichert wird?
Die Datenbankdatei und die Exceldatei liegen im selben Verzeichnis. Auf dem End-PC ist kein Access installiert und da kann ich dann die Verknüpfung nicht aktualisieren.
Vielen Dank
Mike
Antworten
-
Mike Berger wrote:> ...> Ich habe nur das Problem, dass der Link durch das Sub/Function nicht> geändert wird.>> VBA zeigt mir auch keinen Fehler an.>> Die Tabelle ist immer noch mit der originalen Datei verbunden.>> Soll ich die Verknüpfung besser löschen und neu erstellen?Nicht nötig. In deinem Code fehlt "nur" der Aktualisierungsbefehl. ;-)Füge noch das hier nach dem Ändern von tdef.Connect ein:tdef.RefreshLink--ServusKarl*********Access-FAQ: http://www.donkarl.com
- Als Antwort markiert Mike Berger Samstag, 15. Januar 2011 01:38
Alle Antworten
-
hi Mike,
Auf dem End-PC ist kein Access installiert und da kann ich dann die Verknüpfung nicht aktualisieren.
Das ist nicht richtig. Du hast bloß kein Tabellenverknüpfungsmanager, aber du kannst es ohne Probleme selber per VBA machen:
http://www.4tops.com/ms_access_tips/rxltbl.htm
Microsoft MVP Office Access
https://mvp.support.microsoft.com/profile/Stefan.Hoffmann -
Hallo Mike BergerDu kannst die Verknüpfung zur Laufzeit (z.B. beim Start) der Anwendung anpassen, indem Du die das Connect Property der TableDef auf Deinen Pfad umhängst. Diesen findest Du aus CurrentDB.Name heraus. So wird sichergestellt, dass immer der gleiche Pfad verwendet wird, wie der, von dem die Anwendung gestartet wurdeGrussHenry<Mike Berger> wrote in message news:2d4ca3c6-a2f6-417d-90cb-2b3f1dbd051e@communitybridge.codeplex.com...
Hallo zusammen,
ist es möglich eine Excel Tabelle zu verknüpfen ohne das der komplette Pfad gespeichert wird?
Die Datenbankdatei und die Exceldatei liegen im selben Verzeichnis. Auf dem End-PC ist kein Access installiert und da kann ich dann die Verknüpfung nicht aktualisieren.
Vielen Dank
Mike
-
Hallo Henry,
ich habe dies nun auch in ein Modul erstellt.
Wie kann ich dies nun automatisch laufen lassen, wenn die Datenbank geöffnet wird?Sub Verbindung() Dim tdef As TableDef Dim strPfad As String strPfad = Mid(CurrentDb.Name, 1, Len(CurrentDb.Name) - 26) For Each tdef In CurrentDb.TableDefs If tdef.Name = "tblUserKuerzel" Then tdef.Connect = "Excel 5.0;HDR=YES;IMEX=2;DATABASE=" & _ strPfad & _ "Userkuerzel.xls" End If Next tdef End Sub
Mike
-
-
Mike Berger wrote:> ich habe dies nun auch in ein Modul erstellt.>>> Sub Verbindung()> Dim tdef As TableDef> Dim strPfad As String> strPfad = Mid(CurrentDb.Name, 1, Len(CurrentDb.Name) - 26)Wenn diese Zeile den Ordner der aktuellen DB liefern soll,dann geht das besser mit: CurrentProject.Path & "\"> For Each tdef In CurrentDb.TableDefs> If tdef.Name = "tblUserKuerzel" ThenHier könntest du noch prüfen, ob die Neuverknüpfung überhauptnotwendig ist, indem du den bisherige Connect-Wert mit demneuen vergleichst.> tdef.Connect = "Excel 5.0;HDR=YES;IMEX=2;DATABASE=" & _> strPfad & _> "Userkuerzel.xls"> End If> Next tdef> End Sub>> Wie kann ich dies nun automatisch laufen lassen, wenn die Datenbank> geöffnet wird?Die Sub sollte in einem Standardmodul liegen. Dann kannst dusie z.B. beim Öffnen-Ereignis eines Startformulares aufrufen.Alternativ kannst du sie in eine Function umwandeln und dannin einem AutoExec-Makro mit der Makroaktion AusführenCodeaufrufen. s.a. http://www.donkarl.com?FAQ1.6--ServusKarl*********Access-FAQ: http://www.donkarl.com
-
Hallo Karl,
vielen Dank für Deine Änderungen.
Ich habe nur das Problem, dass der Link durch das Sub/Function nicht geändert wird.
VBA zeigt mir auch keinen Fehler an.
Die Tabelle ist immer noch mit der originalen Datei verbunden.
Soll ich die Verknüpfung besser löschen und neu erstellen?
Mike
-
Mike Berger wrote:> ...> Ich habe nur das Problem, dass der Link durch das Sub/Function nicht> geändert wird.>> VBA zeigt mir auch keinen Fehler an.>> Die Tabelle ist immer noch mit der originalen Datei verbunden.>> Soll ich die Verknüpfung besser löschen und neu erstellen?Nicht nötig. In deinem Code fehlt "nur" der Aktualisierungsbefehl. ;-)Füge noch das hier nach dem Ändern von tdef.Connect ein:tdef.RefreshLink--ServusKarl*********Access-FAQ: http://www.donkarl.com
- Als Antwort markiert Mike Berger Samstag, 15. Januar 2011 01:38