Hallo liebe Experten,
ich habe hier ein VBA Code, wo man mittels über ein Button eine Access-Abfrage starten und in Excel exportieren kann.
Die Abfrage lässt sich nur starten, wenn keine 2. Abfrage mit demselben Namen vorhanden ist. Leider wird die Abfrage bei einigen Usern blockiert wenn keine Abfrage gestartet worden ist oder wenn es irgendwo im temporären Ordner liegt, dann taucht diese Fehlermeldung auf :Eine Excel Datei mit dieser Abfrage ist noch offen. Bitte Datei abspeichern oder schließen.
Wie kann ich das Problem lösen, dass eine evtl. vorangegangene Abfrage geschlossen wird ? ?
Danke im voraus.
Liebe Güße, marsi
Private Sub Befehl74_Click()
On Error GoTo Err_Meldung
Dim DocName As String
DocName = "Liste Excel"
DoCmd.OpenForm "Hinweis"
DoCmd.OpenQuery "Liste", acViewNormal
DoCmd.RunCommand acCmdOutputToExcel
DoCmd.Close acForm, "Hinweis", acSaveYes
DoCmd.Close acQuery, "Liste"
CurrentDb.Execute "INSERT INTO tbl_Anzahl ( Buttonname, Datum ) SELECT '" & DocName & "', Now;", dbFailOnError
Exit_Befehl74_Click:
Exit Sub
Err_Meldung:
MsgBox "Eine Excel Datei mit dieser Abfrage ist noch offen. Bitte Datei abspeichern oder schließen. "
DoCmd.Close acQuery, "Liste"
DoCmd.Close acForm, "Hinweis", acSaveYes
Resume Exit_Befehl74_Click
End Sub
Oder wie kann ich es bewerkstelligen, dass hier eine Datei wie folgt abgespeichert werden kann:
Statt Liste.xlsx mit Liste_1912.xlsx abgespeichert wird, d.h. mit Datum und ggfs. Uhrzeit zusätzlich.
DoCmd.OpenQuery "Liste", acViewNormal
DoCmd.RunCommand acCmdOutputToExcel
DoCmd.Close acQuery, "Liste"
Wie lässt es sich umsetzen ?
Danke.
Warum arbeitest du nicht mit transferspreadsheet (https://learn.microsoft.com/en-us/office/vba/api/access.docmd.transferspreadsheet)?
Dann kannst du einfach einen Dateinamen angeben und mit einer einzigen Anweisung ist der Spuk vorbei.
Außerdem eine Save Anweisung beim Schließen eines Formulars??
Danke. Wie würde der Code hier aussehen ?
Vor allem die Save Funktion Umsetzung ist mir nicht so ganz klar.
Danke nochmal.
Hallo,
ZitatWie würde der Code hier aussehen ?
der Hinwies von Markus ist ein Link der direkt zur entsprechenden Hilfeseite führt. Mit Codebeispiel.
Die Save Anweisung ist hier völlig überflüssig. acSaveYes bezieht sich nur auf Änderungen am Entwurf. Mit einer Speicherung von Daten hat das nichts zu tun.