Also erstens ist mir der Umweg über MS Query viel zu umständlich. Außerdem will ich ja nicht manuell Daten importieren, sondern die Datenübertragung soll variabel gehalten werden. Deshalb will ich diese Funktionalität über entsprechende Prozeduren in einem Excel-AddIn den Benutzern zur Verfügung stellen. Ich kann auch nicht sicher davon ausgehen, dass bei den Benutzern bereits DSNs definiert sind. Deshalb stelle ich die ODBC-Verbindung bzw. OLEDB-Verbindung über einen Connection-String her.

Das Problem ist jetzt also, dass je nach Verbindungstyp (ODBC oder OLEDB) die Feldtypen im Resultset anders sind. Ich hatte inzwischen auch schon versucht das Resultset vorher mit den entsprechenden Felddefinitionen zu erstellen. Jedoch werden diese beim Füllen des Resultsets wieder überschrieben.

Die einzige Methode, die für alle Feldtypen funktionierte, war als ich beim QueryTables.Add den ODBC-Connection-String direkt angegeben habe. Das hat halt zur Folge, dass jedesmal eine neue ODBC-Verbindung hergestellt wird, was ich nicht unbedingt haben möchte.

Gibt es sonst noch irgendwelche Möglichkeiten?

Gruß,
KM