Excel-Datei in Access2007 neu einbinden per VBA

Problem:

Ich habe als FE eine Access2007 ACCDB und als BE eine SQL2005-Datenbank.
In meiner FE habe ich ebenfalls eine Excel-Datei verknüpft. Aus dieser werden Auftragsdaten, die vom Kunden kommen in die SQL-Datenbank importiert.

Da, sich nun der Speicherort und der Dateiname der Excel-Datei ändern können, muss der Anwender die Möglichkeit haben, die Excel-Datei neu einbinden zu können.
(BTW der Name des Excel-Tabellenblattes bleibt aber immer gleich!).

Ich versuche das mit folgendem Code zu ermöglichen:

CODE:
Public Function ExcelNeuEinbinden(AcTabName As String, FullPathName As String) 
    Dim ConStr As String 
   
    ConStr = CurrentDb.TableDefs(AcTabName).Connect 
    CurrentDb.TableDefs(AcTabName).Connect = Mid(ConStr, 1, InStr(ConStr, "DATABASE=") + 8) & FullPathName 
    CurrentDb.TableDefs(AcTabName).RefreshLink 
End Function



Die Funktion läuft ohne Probleme ab, es kommt keine Fehlermeldung und mit DebugPrint konnte ich feststellen, dass alle Variablen richtig gefüllt werden.

ABER:
Es passiert nichts :(
Soll heißen, die Connect-Eigenschaft meiner verknüpften Excel-Tabelle bleibt gleich.

Lösung:

Eine wirkliche Lösung für den „Fehler“ im Code habe ich nicht,
aber dafür habe ich eine Lösung des Problems!!! :D

Ich mach’s jetzt mit:

CODE:
Public Sub ExcelNeuEinbinden()
     Dim db As Database
     
     Set db = CurrentDb
     db.TableDefs.Delete Tabellenname
     db.TableDefs.Refresh
     DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel8, Tabellenname, PfadZurExceldatei, True, Tabellenblatt
     Set db = Nothing
End Sub



Und schon geht’s!!!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.