abangemann
Goto Top

Excel-Datei in Access2007 neu einbinden per VBA

Hallo allerseits,

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:

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 :o(
Soll heißen, die Connect-Eigenschaft meiner verknüpften Excel-Tabelle bleibt gleich.

Woran kann das liegen? Oder weiß jemand vielleicht eine bessere Lösung, um die Excel-Datei neu einzubinden?

Gruß, Andreas.

Content-Key: 145206

Url: https://administrator.de/contentid/145206

Printed on: April 23, 2024 at 06:04 o'clock

Member: abangemann
abangemann Jun 19, 2010 at 17:44:26 (UTC)
Goto Top
Eine Lösung für den "Fehler" im Code habe ich nicht,
aber dafür habe ich eine Lösung meines Problems!!!

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!!!

Gruß, Andreas.