Neuigkeiten:

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

Mobiles Hauptmenü

Anwendung schließen

Begonnen von marsi, Dezember 19, 2022, 12:01:07

⏪ vorheriges - nächstes ⏩

marsi

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

marsi

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.

markusxy

Warum arbeitest du nicht mit 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??

marsi

Danke. Wie würde der Code hier aussehen ?

Vor allem die Save Funktion Umsetzung ist mir nicht so ganz klar.

Danke nochmal.

MzKlMu

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.
Gruß Klaus