Hallo,
ich habe ein Formular mit einer Schaltfläche durch die ein Bericht ausgedruckt wird. Der Makro wurde vom Steuerelemente-Assistenten erstellt und lautet
ÖffnenBericht
Berichtsname REPAlleGeraeteSortiert
Ansicht Seitenansicht
Filtername
Bedingung
Fenstermodus Normal
AusführenMenübefehl
Befehl DruckenObjekt
So weit, so gut.
Ich möchte aber, dass sich das Formular auch selbst wieder schließt. Welche Aktion muss ich da verwenden und vor allem wo? Vor oder nach AusführenMenübefehl?
Vielen Dank im Voraus
Beate1953
Hallo,
mit diesen unglückseligen Makros wirst Du wenig bis gar keine Hilfe bekommen, da kennt sich kaum jemand aus, die will auch keiner. Konvertiere das Makro nach VBA und stelle den VBA Code ein, dann wirst Du geholfen werden. ;D
Hallo Beate1953
Möchtest du das Formular nach dem drucken schließen oder meinst du den in der Seitenansicht geöffneten Bericht?
Wenn ich dir noch eine Empfehlung aussprechen darf, vergiss Marco und mache es mit VBA du hast um ein vieles mehr an Möglichkeiten und ganz sicher mehr Hilfe hier. :) :)
Hallo,
das automatische Konvertieren wurde mit einer Fehlermeldung kommentiert (wie immer bei mir. Konnte noch nie ein Makro einfach konvertieren.).
Also versuche ich es so:
DoCmd.OpenReport "REPAlleGeraeteSortiert", acViewReport
Damit zeigt mir Access den Bericht am Bildschirm an. Ein acPrintReport wäre mir lieber, denn ich will den Bericht ja drucken. Außerdem soll das Formular, auf dem obiger Code steht geschlossen werden (nicht der Bericht).
Vielen Dank im Voraus
Beate1953
Hallo,
ZitatIch möchte aber, dass sich das Formular auch selbst wieder schließt. Welche Aktion muss ich da verwenden und vor allem wo? Vor oder nach AusführenMenübefehl?
Die Aktion (Makrobefehl) heißt "Schliessen". Damit kann jeweils der sichtbare Bericht wie auch das Formular, aus dem das MAkro aufgerufen wird, geschlossen werden.
Natürlich müssen die "Schliessen"-Makrobefehle NACH dem Druck-Befehl ("AusführenMenüBefehl") stehen...
Hallo,
Wenn ich "AusführenMenüBefehl" - "Befehl:Schließen" nach dem Druckbefehl für den Bericht, schreibe schließt Access den Bericht gleich nach dem Drucken des Berichtes, das Formular bleibt offen.
Wenn ich "AusführenMenüBefehl" - "Befehl:Schließen" vor dem Druckbefehl für den Bericht schreibe, schließt Access den Bericht und druckt das Formular, das Formular bleibt offen.
Jetzt habe ich es mal mit "AusführenCode" - "Function: FRMAlleGeraeteSortiertSchliessen" probiert und die Function steht im Modul als
Public Function FRMAlleGeraeteSortiertSchliessen()
DoCmd.Close acForm, "FRMAlleGeraeteSortiert"
End Function
Jetzt druckt er den Bericht und bringt anschließend die Fehlermeldung "Der von Ihnen eingegebene Ausdruck ist syntaktisch falsch. Sie haben möglicherweise ein Komma eingegeben, vor dem kein Bereich oder Bezeichner steht." Ich habe auch schon versucht, den Formularnamen in Klammern zu schreiben, da bringt er auch eine Fehlermeldung, aber eine andere. Immerhin tut er überhaupt noch etwas nach dem Drucken des Berichtes.
Was ist da noch falsch
Viele Grüße
Beate1953
Hallo,
die Makrobefehle haben doch Argumente (bzw. Parameter) ... Beim "Schliessen"-Makro können der Typ und der Name des Objektes eingeben werden, das geschlossen werden soll. Werden diese Angaben weggelassen, wird das aktuelle Objekt (das, das aktuell den Fokus besitzt) geschlossen...
"AusführenCode" , der ein anderes Makro ("Docmd.Close" ist nichts anderes als ein internes Makro...) ausführt, ist doch doppelt gemoppelt... Du führst mit einem Makro (--> "Code") eine VBA-Prozedur (---> auch "Code") aus.... Das ist so, als wenn Du in einem Topf mit kochendem Wasser einen anderen Topf mit Wasser zum Kochen bringen willst...
Hallo,
ich weiß nicht, wo da Parameter eingegeben werden können.
Ich habe
AusführenMenübefehl
Befehl Schließen
Weitere Zeilen zum Eingeben des Formularnamens sind da nicht vorhanden.
Wenn ich versuche, in dieselbe Zeile: Schließen "FRMAlleGeräteSortiert" einzugeben, kommt die Meldung "Der von Ihnen eingegebene Text ist kein Element der Liste"
Was meintest Du, wo ich die Parameter eingeben kann?
Viele Grüße
Beate1953
Hallo,
welche Access-Version verwendest Du?
"AusführenMenüBefehl" gibt es nicht in z. B. A2007..
Hallo,
ich verwende Access 2010.
Ich habe mir dein Dokument angesehen. So ein Fenster zum Zuordnen der Argumente habe ich in meinem Access noch nie gesehen. Wie rufst Du das auf?
Bei mir sieht ein Makro so aus, wie im beiliegenden Dokument.
Viele Grüße
Beate1953
Hallo,
nochmal ein Dokument, wie bei mir die Makrobefehle erweitert werden können, um Argumente einzugeben. Aber bei AusführenMenübefehl gibt es nur das Argument "Befehl" und das heißt "Schließen".
Viele Grüße
Beate1953
Hallo,
Mein Beispiel stammt aus A2007
Hier ein Screennshot aus A2010 und der Aktion "FensterSchließen", der in dieser Version eher geeignet (d. h. richtig) ist als der Menübefehl "AusführenMenüBefehl"
Hallo,
SUUPER, das klappt prima! Jetzt schließt sich das Formular!
Nochmals vielen Dank!!!
Viele Grüße
Beate1953