Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Accessmakro CSV Export funktioniert nach neustart des Programms nicht mehr

Begonnen von tmaier, Dezember 06, 2017, 16:05:27

⏪ vorheriges - nächstes ⏩

tmaier

Hallo alle Zusammen,

ich habe ein Accessmakro angelget welches mir eine Tabelle in eine CSV Datei exportiert.

Exportspezifkation habe ich soweit alles angelgt, Export funktioniert auch einwandfrei.

Sobald ich aber Access schließe und anschließend wieder öffne, funktioniert der Export nicht mehr.

Erst nachdem ich die Spezifikation nochmals über den Assistenen aufrufe, speichere und exportiere funktioniert der Export über das Makro wieder.

Ich habe nun alle mir vorstellbaren Varianten ausprobiert das Problem zu lösen.

Auch Google konnte mir nicht weiterhelfen.

Nun hoffe ich auf Euch! Wäre Klasse wenn mir jemand helfen könnte bzw. vllt hatte Ja jemand schonmal das gleiche Problem gehabt.

Leider gibt es keinerlei Fehlermeldungen.

Der Fehler tirtt erst nach neustart von Access auf! Wenn ich nachdem neustart das Makro neuustarte echnet das Program kurz, passieren tut aber nichts mehr.

Ich hoffe ich konnte es verständlich erklären :)

Access 2013


Ich freu mich auf Eure Unterstütung!

Danke schonmal!

MzKlMu

Hallo,
ZitatExportspezifkation habe ich soweit alles angelegt,
anlegen alleine nutzt ja nix die Exportspezifkation muss im Makro auch verwendet werden.

Zu Makros wirst Du aber kaum Hilfe bekommen, die verwendet kaum jemand.
Gruß Klaus

Micharius

Hi tmaier
Bin ja selber ein totaler Newbie und überhaupt nicht VBA vertraut (obwohl ich gerade einen Onlinekurs mache), aber ich habe genau dieses Problem denkbar unspektakulär mit einer Zeile VBA Code lösen können:

DoCmd.TransferText acExportDelim, , "deineTabelleOderAbfrage", "C:\test\woauchimmer\export.csv", True

("True" heisst, dass die erste Zeile die Feldnamen beinhaltet, "False" würde diese nicht exportieren).

Grüsse

Micharius

tmaier

Hi,

danke für eure Antworten.

Ich habe genau diese Zeile in dem Makro:

DoCmd.TransferText acExportDelim, "Bestellhistorie Exportspezifikation", "Bestellhistorie -fertig", "Bestellhistorie.csv", True, ""


Grüße und Danke!

DF6GL

Hallo,


hier handelt es sich nicht um ein Makro, das ist eine VBA-Codezeile...

--  Ist "Bestellhistorie Exportspezifikation"  tatsächlich im Assistenten unter Button "erweitert"  mit diesem Namen abgespeichert worden?

--  Vermeide DRINGEND Sonder- und Leerzeichen in Objektnamen ("Bestellhistorie -fertig")

--  Zeige den Code der gesamten Prozedur

tmaier

Hi,

ja richtig habe die Spezifikation über den Assistenten angelegt und über ,,erweitert" gespeichert. Der Export funktioniert dann auch per Makro und per VBA. Erst nach dem Neustart von Access nicht mehr.

Sorry hatte vergessen zu erwähnen, dass ich bereits beides ausprobiert habe. Sprich VBA und ein Makro, bei beiden ist aber der gleiche Fehler vorhanden. Nach dem Neustart von Access muss der Assistent wieder durchgeführt werden und die Spezifikation nochmals gespeichert werden erst dann funktionieren auch das Makro bzw. der VBA Code wieder.

Obwohl die Spezifikation nach dem Neustart noch vorhanden ist.

Ich habe jetzt die Leerzeichen im Tabellennamen entfernt und in der Exportspezifikation. Leider ohne Erfolg.

Hier mein Code:

Function Bestellhistorie_VBA()
On Error GoTo Bestellhistorie_Err
    DoCmd.SetWarnings False
    DoCmd.Hourglass True
    DoCmd.OpenQuery "Bestellhistorie bereinigen (Aufträge)", acViewNormal, acEdit
    DoCmd.OpenQuery "Bestellhistorie Positionen bereinigen", acViewNormal, acEdit
    DoCmd.OpenQuery "Bestellhistorie bereinigen", acViewNormal, acEdit
    DoCmd.OpenQuery "Bestellhistorie- Schritt 1", acViewNormal, acEdit
    DoCmd.OpenQuery "Bestellhistorie Abfrage - Positionen", acViewNormal, acEdit
    DoCmd.OpenQuery "Bestellhistore- Schritt 3 fertig", acViewNormal, acEdit
    DoCmd.OpenQuery "Bestellhistorie bereinigen von Fracht und Versicherung", acViewNormal, acEdit
   
    DoCmd.TransferText acExportDelim, "Bestellhistorie_Exportspezifikation", "Bestellhistorie-fertig", "Bestellhistorie.csv", True, ""
       
   DoCmd.Hourglass False
    DoCmd.Quit
Bestellhistorie_Exit:
    DoCmd.Hourglass False
    Exit Function
Bestellhistorie_Err:
    MsgBox Error$
    Resume Bestellhistorie_Exit
    DoCmd.Hourglass False
End Function


Danke für Eure Beiträge!


Tim

Lachtaube

Um der Sache auf den Grund zu gehen und grundlegende Disfunktionalität Deiner Access-Installatiuon auszuschließen, erstelle eine neue DB und lege eine ganz einfache Tabelle mit wenigen Datensätzen an und erstelle einen Textexport mit Spezifikation, sowie eine dazu passende VBA-Prozedur. Teste die Umgebung nach einem Neustart von Access.

Wenn das auch zum Misserfolg führt, lade das Beispiel hier als Anhang hoch.

PS: wie schon zuvor angemerkt, sollte man sich bei der Namensvergabe von Objekten auf die Zeichen A..Za..z0123456789_ beschränken - also keine Leerzeichen, Klammern, Umaute und Minuszeichen verwenden.
Grüße von der (⌒▽⌒)

steffen0815

Hallo,
was mir unverständlich ist:
Access tut einfach nichts? Keine Fehlermeldung!?
Wird keine Datei angelegt oder ist diese leer?

Warum werden eigentlich die ganzen Abfragen geöffnet?
Gruß Steffen

tmaier

Hi,
bei den Abfragen handelt es sich um anfüge Abfragen.

Nein leider keinerlei Fehlermeldungen - das macht das ganze ja so schwierig :-[. Startet man das Makro erscheint unten rechts kurz das er gerechnet wird. Ist aber gleich wieder weg als würde das Programm den Export einfach überspringen.

Das mit Testumgebung probiere ich morgen gleich mal aus!

Tim

MzKlMu

Hallo,
ZitatStartet man das Makro erscheint unten rechts kurz das er gerechnet wird.
Das ist kein Makro, das ist VBA Code. Makros sind bei Access etwas ganz anderes. Nur als nochmaliger Hinweis um Missverständnissen vorzubeugen.
Gruß Klaus

Beaker s.a.

Hallo Tim,
Zitatbei den Abfragen handelt es sich um anfüge Abfragen.
Warum öffnest du die dann statt sie auszuführen?
CurrentDb.Execute "AbfrageName", dbFailOnError
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Lachtaube

@Ekkehard,

Verständnisprobleme?

DoCmd.OpenQuery verhält sich so, wie beim Doppelklicken im Navigationsbereich auf eine gespeicherte Abfrage.
Grüße von der (⌒▽⌒)

tmaier

Hallo Zusammen,

ich habe jetzt mal eine Testdatenbank angelegt nur mit ein paar Daten. Und eine Testmakro.

Leider stoße ich auf das gleiche Problem.

Ich habe des Test jetzt mal hochgeladen. Vllt. tritt ja bei irgendjemand der gleiche Fehler auf oder sieht sofort was ich falsch mache.

mfg Tim

Lachtaube

Hier (unter Access 2010) gibt's keine Probleme mit der Testdatenbank - ich habe nur den Dateinamen für den Export auf einen kompletten Pfad eingestellt.

Welche Access-Version kommt zum Einsatz? Sind alle Updates installiert? Vielleicht hilft eine Reparatur-Installation.
Grüße von der (⌒▽⌒)

steffen0815

Hallo,
Zitatich habe nur den Dateinamen für den Export auf einen kompletten Pfad eingestellt.
Ich denke das ist dann wohl auch die "Fehler"-ursache.
Nicht das erneute Abspeichern der Spezi hat den "Fehler" beseitigt, sondern das damit verbundene definieren eine Zielpfades.
Gruß Steffen