Neuigkeiten:

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

Mobiles Hauptmenü

Formular durch Makro schließen

Begonnen von Beate1953, November 05, 2013, 19:24:17

⏪ vorheriges - nächstes ⏩

Beate1953

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

MzKlMu

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

Stapi

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. :) :)
Grüße aus dem schönen NRW
Stefan

Beate1953

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

DF6GL

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...
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Beate1953

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

DF6GL

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...


Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Beate1953

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

DF6GL

Hallo,


welche Access-Version verwendest Du?

"AusführenMenüBefehl" gibt es nicht in z. B. A2007..

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Beate1953

 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

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

DF6GL

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"


Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Beate1953

Hallo,

SUUPER, das klappt prima! Jetzt schließt sich das Formular!

Nochmals vielen Dank!!!

Viele Grüße
Beate1953