Error 3298 in Verbindung mit eingebundenen EXCEL-Tabellen

08/12/2009 - 14:06 von Uwe Ricken | Report spam
Hallo zusammen,

nach langer Zeit mal wieder ein Access-Projekt und schon gibt es Probleme
;-(
Folgendes Szenario:

Ich erstelle einen Import-Manager, bei dem der Benutzer sowohl EXCEL-Datei
als auch EXCEL-Sheet in einer Tabelle hinterlegt.
Anschließend muss ich das EXCEL-Sheet als TableDef in meine Anwendung laden,
um mittels einer Schleife durch die Felderliste zu gehen, um zu überprüfen,
ob alle Attribute der EXCEL-Tabelle in einer Zuordnungstabelle (EXCEL ->
ACCESS-Relation) vorhanden sind.

Dazu bediene ich mich einer simplen Funktion, die folgendes ausführt:
cls_strLinkedName = "Wie soll die Tabelle in Access heissen"
cls_strFileName = "Pfad_und_Name_der_Exceldatei.xls"
cls_strSheetName = "NameDerTabelle"

Dim cls_db AS DAO.Database
Dim cls_tdef As DAO.TableDef

Set cls_db = DBEngine(0)(0)
Set cls_tdef = cls_db.CreateTableDef(cls_strLinkedName)
With cls_tdef
.Connect = "Excel 8.0;DATABASE=" & cls_strFileName & ";"
.SourceTableName = cls_strSheetName & "$"
End With

cls_db.TableDefs.Append cls_tdef

Nachdem ich die Tabelle dann analysiert habe, schmeiße ich sie wieder aus
der Auflistung der Tabellen in Access raus!

Beim ersten Aufruf funktioniert alles wunderbar. Wenn ich aber in einer
Sitzung mehrere EXCEL-Tabellenblàtter analysieren muss, erhalte ich beim
zweiten Aufruf den obigen Fehler mit dem Hinweis:

"Es gibt mehrere Tabellen mit diesem Namen; geben Sie bitte den Eigentümer
..." ab.
Besonders interessant ist dabei, dass nach einem "Compress" das Einbinden
wieder funktioniert.
Dort ist aber nichts zu entdecken ;-(

Gibt es ev. eine Würgaround, mit dem ich mir helfen kann?

Umgebung:
Microsoft Windows 7 Ultimate x64
Microsoft Office 2007 Enterprise
Alle Updates sind installiert.

Herzlichen Dank für ein Feedback...

Uwe Ricken
db Berater GmbH

MCTS: Microsoft SQL Server 2005
MCDBA: Microsoft SQL Server 2005
 

Lesen sie die antworten

#1 Uwe Ricken
08/12/2009 - 14:25 | Warnen spam
Noch ein "interessanter" Nachtrag...
Ich habe als Alternative die Möglichkeit, mittels

DoCmd.TransferSpreadsheet acLink, , cls_strLinkedName, cls_strFileName,
True, cls_strSheetName & "!"

das EXCEL-Arbeitsblatt zu verknüpfen. Super - aber leider zu kurz gedacht
;-(
Wenn ich mittels TransferSpreadsheet das Objekt verbinde, ist es - ob der
Ansicht bei "Tabellen" kein TableDef ;-(

Danke für Eure Vorschlàge...

Uwe Ricken
db Berater GmbH

MCTS: Microsoft SQL Server 2005
MCDBA: Microsoft SQL Server 2005


"Uwe Ricken" schrieb im Newsbeitrag
news:
Hallo zusammen,

nach langer Zeit mal wieder ein Access-Projekt und schon gibt es Probleme
;-(
Folgendes Szenario:

Ich erstelle einen Import-Manager, bei dem der Benutzer sowohl EXCEL-Datei
als auch EXCEL-Sheet in einer Tabelle hinterlegt.
Anschließend muss ich das EXCEL-Sheet als TableDef in meine Anwendung
laden, um mittels einer Schleife durch die Felderliste zu gehen, um zu
überprüfen, ob alle Attribute der EXCEL-Tabelle in einer Zuordnungstabelle
(EXCEL -> ACCESS-Relation) vorhanden sind.

Dazu bediene ich mich einer simplen Funktion, die folgendes ausführt:
cls_strLinkedName = "Wie soll die Tabelle in Access heissen"
cls_strFileName = "Pfad_und_Name_der_Exceldatei.xls"
cls_strSheetName = "NameDerTabelle"

Dim cls_db AS DAO.Database
Dim cls_tdef As DAO.TableDef

Set cls_db = DBEngine(0)(0)
Set cls_tdef = cls_db.CreateTableDef(cls_strLinkedName)
With cls_tdef
.Connect = "Excel 8.0;DATABASE=" & cls_strFileName & ";"
.SourceTableName = cls_strSheetName & "$"
End With

cls_db.TableDefs.Append cls_tdef

Nachdem ich die Tabelle dann analysiert habe, schmeiße ich sie wieder aus
der Auflistung der Tabellen in Access raus!

Beim ersten Aufruf funktioniert alles wunderbar. Wenn ich aber in einer
Sitzung mehrere EXCEL-Tabellenblàtter analysieren muss, erhalte ich beim
zweiten Aufruf den obigen Fehler mit dem Hinweis:

"Es gibt mehrere Tabellen mit diesem Namen; geben Sie bitte den Eigentümer
..." ab.
Besonders interessant ist dabei, dass nach einem "Compress" das Einbinden
wieder funktioniert.
Dort ist aber nichts zu entdecken ;-(

Gibt es ev. eine Würgaround, mit dem ich mir helfen kann?

Umgebung:
Microsoft Windows 7 Ultimate x64
Microsoft Office 2007 Enterprise
Alle Updates sind installiert.

Herzlichen Dank für ein Feedback...

Uwe Ricken
db Berater GmbH

MCTS: Microsoft SQL Server 2005
MCDBA: Microsoft SQL Server 2005


Ähnliche fragen