Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: compinaut am Mai 10, 2023, 10:03:07

Titel: Exportspezifikation wird bei TransferText nicht gefunden - ist aber vorhanden
Beitrag von: compinaut am Mai 10, 2023, 10:03:07
Hallo,
mit dem tollen Forum hier bin ich jetzt soweit gekommen, dass keine Fehlermeldung mehr wegen Semikolon usw. kommt.
Ich erstelle nun eine Tabelle (die Abfrage muss ich immer neu definieren, weil ich unterschiedliche Kriterien für die Datenauswahl haben möchte - könnte für TransferText und die Exportspezifikation ja ein Problem sein, da nicht mehr identisch), die dann in eine csv-Textdatei exportiert werden soll. Eine Exportspezifikation ist auch erstellt auf Grund der Tabelle. Aber er findet die Spezifikation nicht, obwohl sie vorhanden ist. Auch das Angeben des gleichen Pfades der Exportdatei wie in der Exportspezifikation bringt nichts. Wenn ich die Exportspezifikation jedoch weglasse (was ja möglich ist), dann habe ich wieder den Fehler mit Semikolon usw.
Vielleicht kann jemand helfen.
Gruß
compinaut
Titel: Re: Exportspezifikation wird bei TransferText nicht gefunden - ist aber vorhanden
Beitrag von: ebs17 am Mai 10, 2023, 13:13:07
ZitatAber er findet die Spezifikation nicht, obwohl sie vorhanden ist.
Ist die Spezifikation als Spezifikation gespeichert (findet sich dann wieder in den Systemtabellen MSysIMEXSpecs und MSysIMEXColumns), oder hast Du etwas über gespeicherten Import gespeichert? Im zweiten Fall verschwindet die Spezifikation in den XML-Untiefen des ACCDB-Files.
Titel: Re: Exportspezifikation wird bei TransferText nicht gefunden - ist aber vorhanden
Beitrag von: PhilS am Mai 10, 2023, 14:54:23
Zitat von: compinaut am Mai 10, 2023, 10:03:07Ich erstelle nun eine Tabelle (die Abfrage muss ich immer neu definieren, weil ich unterschiedliche Kriterien für die Datenauswahl haben möchte - könnte für TransferText und die Exportspezifikation ja ein Problem sein, da nicht mehr identisch), [...]
Jein. Um eine bestehende Import/ExportSpezifikation zu verwenden, müssen die Ausgabespalten der Abfrage gleich sein. Der Rest (z.B. Kriterien, Sortierung, Quelltabellen) kann aber ohne Probleme geändert werden.

Wie @ebs17 bereits anmerke, solltest du dich vergewissern, ob du wirklich eine Import- bzw- Export-Spezifikation erstellt hast (in Systemtabelle MSysIMEXSpecs), oder einen "Gespeicherten Export". (Siehst du unter dem Ribbon Button "Saved Imports" bzw. "Saved Exports".)

Zitat von: ebs17 am Mai 10, 2023, 13:13:07oder hast Du etwas über gespeicherten Import gespeichert? Im zweiten Fall verschwindet die Spezifikation in den XML-Untiefen des ACCDB-Files.
"Verschwindet" würde ich das nicht nennen. Die Existenz und den Namen kann über das UI (s.o.) geprüft werden. Per VBA-Code (CurrentProject.ImportExportSpecifications(x).XML) kommst du auch an die genaue (XML-)Definition ran.
Titel: Re: Exportspezifikation wird bei TransferText nicht gefunden - ist aber vorhanden
Beitrag von: compinaut am Mai 11, 2023, 17:51:04
Hallo,
Danke schonmal für die Antworten.
Der Export ist unter "Gespeicherte Exporte" im Reiter "Gespeicherte Exporte" zu finden.
In den genannten Tabellen jedoch nicht.
Über den manuellen Aufruf funktioniert es. Jedoch nicht beim Aufruf über VBA.
Speichere ich das falsch?

Hier mal der Code in Auszügen:

strExportbeschreibung = "Export einzelner Kontakt"  'so ist auch der Name des Exports
strExportTabName = "Tab Daten für Export nach csv"
DoCmd.TransferText acExportDelim, strExportbeschreibung, strExportTabName, ("F:\Username\Tab Daten für Export nach csv.txt"), True

Gruß
compinaut
Titel: Re: Exportspezifikation wird bei TransferText nicht gefunden - ist aber vorhanden
Beitrag von: Beaker s.a. am Mai 11, 2023, 17:56:12
ZitatDer Export ist unter "Gespeicherte Exporte" im Reiter "Gespeicherte Exporte" zu finden.
Lese noch mal #1.
Titel: Re: Exportspezifikation wird bei TransferText nicht gefunden - ist aber vorhanden
Beitrag von: ebs17 am Mai 12, 2023, 08:09:56
DoCmd.RunSavedImportExport-Methode (Access) (https://learn.microsoft.com/de-de/office/vba/api/access.docmd.runsavedimportexport)
Wenn Du einen gespeicherten Export hast, musst Du dann auch den entsprechenden Aufruf verwenden. Der Name des gespeicherten Exports ist aber ungleich dem Namen einer Exportspezifikation.

Wenn Du TransferText verwenden willst, musst Du die Spezifikation noch einmal neu anlegen, ohne den Schritt, den Export zu speichern.