PDA

Vollständige Version anzeigen : Fehler beim Verknüpfen mit Textdatei


ludgerp
06.07.2006, 11:42
Hallo,
ich hab folgendes Problem:
Das folgende Code-Beispiel bringt eine Fehlefmeldung bei öffen der Verbindung.

Dim conn As New ADODB.Connection
Dim DateiName$, DateiPfad$

With conn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Extended Properties") = "Text;DSN=spezifikation1; _
FMT=Delimited;HDR=NO;IMEX=2;CharacterSet=1252;"
.Properties("Data Source") = DateiPfad
.Open
End With

spezifiktation1 ist der Name der bei einer manuellen Verknüpfung angelegten Import-Spezifikation.

Fehlermeldung:
Laufzeitfehler '-2147467259 (80004005):
Die Textdatei 'spezifikation1' existiert nicht. Importieren, Exportieren oder Verknüpfen ist mit dieser Dateiangabe nicht möglich.

Aktualisiere ich die Verknüpfung z.B. über den Tabellenverknüpfungs-Manager manuell, wird die Verbindung einwandfrei geöffnet.

Hat jemand 'ne Idee, wie ich das Problem lösen oder umgehen könnte?

Viele Grüße
Ludger

rita2008
06.07.2006, 12:03
Gehe mal in den Tabellenentwurf der verknüpften Tabelle klicke dort mit der rechten Maustaste auf die Titelzeile und gehe zu Eigenschaften. Dort wird der korrekte Connection String der Datei angezeigt. Ich vermute, dass Du dort irgend einen Fehler hast.

ludgerp
06.07.2006, 12:21
Das hab ich schon kontrolliert.
Und wie gesagt. Nachdem irgendeine Verknüpfung manull aktualisiert wurde, funktionierts. Ich kann anschließen einen recordset öffnen und erhalte die gewünschten Ergegnisse.
Bis ich Access beende - neu starte - und der Fehler ist wieder da.
Schließe ich nur die Datenbank und öffne Sie wieder funktionierts noch.

Scheinbar werden beim Start die Spezifikationen nicht gleich geladen. Ist aber nur 'ne Vermutung.

Anne Berg
06.07.2006, 12:34
Wahrscheinlich hast du kein "conn.Close" etc. in deinem Code, so dass die Objekte hängen bleiben bis Access endgültig beendet wird. ;)

ludgerp
06.07.2006, 12:56
Nein, der conn.close ist drin.

Vielleicht noch zusätzlich zur Erläuterung.
Die Prozedur wird durch ein Formula aufgerufen, stellt eine direkte Verbindung zu der Textdatei her und wertet aus einer Spalte der Text-Datei Angaben zur Datenquelle, Datenstand usw. aus und gibt dies an einige Formularfelder zurück.

Im Prinzip funktioniert alles, bis auf diese Fehlermeldung gleich nach dem Öffnen von Access.
Führe ich gleich nach dem Start von Access z.B. mit dem Tabellenverknüpfungs-Manager eine Aktualisierung irgendeiner Verknüpfung durch, funktioniert alles reibungslos.

Gibts vielleicht eine Möglichkeit, solch eine Aktualisierung per VBA vorzunehmen. So könnte man das Problem umschiffen.

ludgerp
07.07.2006, 09:22
Kurzer Zwischenstand:
Ich hab immer noch keine befriedigende Lösung gefunden.

Ich behelfe mir in der Zwischenzeit, indem ich mir eine kleine Textdatei nur mit Spatenköpfen angelegt und manuell verknüpft habe. Beim Öffnen meines Formulars wird diese Tabelle kurz geöffnet und gleich wieder geschlossen. Der beschriebene Fehler tritt dann nicht mehr auf.

Private Sub Form_Open(Cancel As Integer)
DoCmd.OpenTable "xxx_import_initialisierung", acViewNormal, acReadOnly
DoCmd.Close acTable, "xxx_Import_initialisierung", acSaveNo
End Sub

Falls doch noch jemand eine Lösung weiß, bitte melden!