Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Report von Commandline starten
Gehe zu Seite 1, 2  Weiter
zurück: Checkboxen Höhe weiter: Einen Datensatz Drucken Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
RainerK
Im Profil kannst Du frei den Rang ändern


Verfasst am:
11. Jun 2012, 15:20
Rufname:

Report von Commandline starten - Report von Commandline starten

Nach oben
       Version: Office 2007

Hallo alle miteinander!

Hier meine "Herausforderung":
Access 2007 - auf einer VM die in einer Serverfarm läuft (24/7 in Betrieb)

Ich importiere von unserem Warenwirtschaftsystem in der Nacht Daten, die in einem Bericht ausgegeben werden sollen.
Soweit kein Problem, ich starte die entsprechende Access Datenbank über den Windows Scheduler mit dem command line Parameter /x der ein Makro und dieses widerum eine Funktion aufruft.

ABER dann kommt der Haken
Nach dem Import möchte ich die Daten als Report ausgeben (in ein PDF)
Code:
    DoCmd.OutputTo acOutputReport, "Report1", acFormatPDF, "t:\Lieferverzögerungen.pdf"
das funktioniert auch recht gut und schön wenn Access offen ist und ich diesen Makro starte - aber sobald ich den Report "von der Command line aus" aufrufe (via Makro und Funktion) bekomme ich statt einem kompletten Report mit etwa 16 Seiten nur einen Report mit 2 Seiten auf dem Datenfelder mit #error dargestellt werden..

Daten werden im "Batch modus" geladen, aber Report funkt nicht (auch wenn ich diesen als Report aufrufe).

Hülfe und vorab Danke

Rainer
MissPh!
Office-VBA-Programmiererin


Verfasst am:
11. Jun 2012, 22:03
Rufname:
Wohnort: NRW


AW: Report von Commandline starten - AW: Report von Commandline starten

Nach oben
       Version: Office 2007

Hallo,

ich verstehe nicht recht, was du uns damit sagen willst:
Zitat:
aber sobald ich den Report "von der Command line aus" aufrufe (via Makro und Funktion) ...
Warum öffest du den Bericht nicht aus der Access-Anwendung, die über den Scheduler gestartet wird, nachdem der Import erfolgreich gelaufen ist?
_________________
Gruß MissPh!
RainerK
Im Profil kannst Du frei den Rang ändern


Verfasst am:
12. Jun 2012, 14:57
Rufname:

AW: Report von Commandline starten - AW: Report von Commandline starten

Nach oben
       Version: Office 2007

Hallo MissPH,

ich war vielleicht etwas undeutlich, natürlich starte ich den Report aus dieser Access Anwendung.
Nochmal ganz genau wie das funktionieren sollte:
im Scheduler starte ich die Access Datenbank mit dem Parameter /x Makroname
dieser Makro startet widerum eine Funktion
und diese Funktion startet hintereinander
den Datenimport und dann den Report bevor die Accessdatenbank sich wieder automatisch schließt.

Ich hab auch schon versucht, in den VBA Code an verschiedenen Stellen Wartenschleifen einzubauen (zwar irgendwie crazy, aber hat eh nix gebracht).
Starte ich den Makro im offenen Access - no problem, aber ruf ich den Makro aus der command line aus Sad.
Ach ja, und die Access Anwendung soll nicht immer offen sein, da ich über diesen Computer auch noch andere Imports vom Warenwirtschaftssystem in andere Access Datenbanken durchführe - die seit Jahren funktionieren.

LG

Rainer
Marsupilami72
Office-VBA-Programmierer


Verfasst am:
12. Jun 2012, 17:07
Rufname:
Wohnort: Goslar

AW: Report von Commandline starten - AW: Report von Commandline starten

Nach oben
       Version: Office 2007

Du kannst doch mehrere Access-Anwendungen gleichzeitig laufen lassen - wo ist das Problem?

Über ein Formular mit Timer kannst Du Dir einen Access internen "Scheduler" für die Funktionen bauen.

_________________
Gruß,
Martin

Bitte keine Fragen per PN - dafür ist das Forum da!
MissPh!
Office-VBA-Programmiererin


Verfasst am:
12. Jun 2012, 17:20
Rufname:
Wohnort: NRW


AW: Report von Commandline starten - AW: Report von Commandline starten

Nach oben
       Version: Office 2007

Hi,

das wäre ja wohl nur eine Notlösung, denke ich. Aber es muss doch feststellbar sein, wo der Unterschied in der Verarbeitung liegt, wenn die Anwendung manuell gestartet wird oder per Scheduler. Was sind die Ursachen für die Fehler im Bericht? Wird Access vielleicht schon geschlossen, wenn er noch im Aufbau ist? Ist der Import abgeschlossen vor dem Öffnen des Berichts? Das würde ich alles mal systematisch austesten...

_________________
Gruß MissPh!
Bitsqueezer
Office-VBA-Programmierer


Verfasst am:
13. Jun 2012, 22:13
Rufname:

AW: Report von Commandline starten - AW: Report von Commandline starten

Nach oben
       Version: Office 2007

Hallo,

neben dem bereits Gesagten gibt es noch eine andere Alternative, um nur den Druck anzustoßen.

Wenig bekannt ist, daß man per Drag & Drop Formulare und Reports einfach z.B. auf den Desktop ziehen kann. Von dort kann man einen Report beispielsweise über die rechte Maustaste mit "Drucken" direkt vom Desktop aus drucken.

Wühlt man ein wenig in den Internas von Windows, findet man den notwendigen Shell-Befehl in:
Code:
HKEY_CLASSES_ROOT\Access.Report.Shortcut\shell\print\command
(ggf. auch "Access.Report.Shortcut.1" etc., wenn man A2007 und A2010 gleichzeitig installiert hat.)

Darin steht das Kommando (bei mir):
Code:
C:\PROGRA~1\MICROS~2\Office12\MSACCESS.EXE /NOSTARTUP /SHELLSYSTEM [PrintTo "%1"][ShellQuit]
Den Befehl kann man so direkt in eine Batch-Datei übernehmen, "%1" wäre der erste Parameter beim Aufruf der Batch-Datei (weil der Print-Befehl hier ja vom Windows-Explorer den Dateinamen bekommt). Das kann man in der Batch-Datei dann gegen den Pfad und Dateinamen austauschen, wo die Verknüpfung fest liegt.

Ja, und wenn diese Zeile gestartet wird, wird der betreffende Report mit seinen in den Datenquellen eingestellten Parametern sofort auf den Standarddrucker ausgedruckt.

Da es verschiedene Office-Installationen gibt, sollte man den für's System gültigen Kommandostring aus dem Schlüssel heraussuchen. Der Filetyp für diese Art Verknüpfungen ist ".MAR" (=Microsoft Access Report).
In Windows XP kann man das auch über den Explorer unter Dateitypen nachsehen, in Vista aufwärts hat MS diesen Tab idiotischerweise entfernt, da geht es nur mit der Registry herauszufinden.

Gruß

Christian
MissPh!
Office-VBA-Programmiererin


Verfasst am:
13. Jun 2012, 22:42
Rufname:
Wohnort: NRW

AW: Report von Commandline starten - AW: Report von Commandline starten

Nach oben
       Version: Office 2007

@Bitsqueezer:
Zitat:
Wenig bekannt ist, daß man per Drag & Drop Formulare und Reports einfach z.B. auf den Desktop ziehen kann.
das setzt aber doch wohl Windows 7 (/Vista?) voraus, oder wie lässt sich das mit Windows XP umsetzen?!
_________________
Gruß MissPh!
Bitsqueezer
Office-VBA-Programmierer


Verfasst am:
14. Jun 2012, 07:41
Rufname:

AW: Report von Commandline starten - AW: Report von Commandline starten

Nach oben
       Version: Office 2007

Hallo MissPh,

nein, das ging, soweit ich mich erinnere, auch schon in A2000 und Windows 95.
Gerade unter Windows XP nachgesehen, da sieht das Kommando genauso aus (bei A2007).

Gruß

Christian
RainerK
Im Profil kannst Du frei den Rang ändern


Verfasst am:
14. Jun 2012, 09:13
Rufname:

AW: Report von Commandline starten - AW: Report von Commandline starten

Nach oben
       Version: Office 2007

Guten Morgen,

war einen Tag auf Dienstreise, aber jetzt ausprobiert, ob das Schließen von Access durch den Makro u.U. den Bericht "abwürgt", leider nein.

Wieso die Lösung über die Registry funktionieren sollte, hab ich noch nicht durchschaut, es ist ja nicht das Problem dass der Bericht nicht startet, der Bericht startet sehr wohl, aber die Daten werden nicht richtig aus der Datenbanktabelle "gesaugt", kurioserweise wird sogar ein Teil des 1. Records verarbeitet und dann #error wo Daten stehen sollten und Ende des Berichtes (aber wie gesagt Access gestartet, dann DB geladen und dann Makro laufen lassen alles ok, also die Berichtslogik und die Daten sollten grundsätzlich passen, würde ich meinen).

LG

Rainer
Bitsqueezer
Office-VBA-Programmierer


Verfasst am:
14. Jun 2012, 09:20
Rufname:

AW: Report von Commandline starten - AW: Report von Commandline starten

Nach oben
       Version: Office 2007

Hallo,

da Du ziemlch viele besondere Umstände hast, kann man ohne Deine Codes gesehen zu haben, ohnehin nicht mehr sagen.

Über die Registry mußt Du nichts machen, dort kann man nur das Kommando für den Print-Befehl auslesen, was ja oben bereits steht. Also lediglich den Link auf einen passenden Ordner gezogen und die Batch angepaßt.

Es wäre, wie MissPh schon schrieb, möglich, daß da Dinge asynchron ablaufen, aber ohne mehr Info kann man das nicht sagen. Die Methode mit dem Report-Link bewirkt, daß dazu Access als eigener Task gestartet wird und damit nicht von vorher laufenden Codes abhängig ist (die Batch-Datei wartet, bis der Import über den ersten Access-Task erledigt ist).

Gruß

Christian
MissPh!
Office-VBA-Programmiererin


Verfasst am:
14. Jun 2012, 09:23
Rufname:
Wohnort: NRW

AW: Report von Commandline starten - AW: Report von Commandline starten

Nach oben
       Version: Office 2007

@Bitsqueezer:
Sorry, aber ich fragte nicht nach dem Kommando zum Drucken, sondern nach der Drag & Drop-Möglichkeit.
Das funktioniert nicht mit Windows XP.

_________________
Gruß MissPh!
Bitsqueezer
Office-VBA-Programmierer


Verfasst am:
14. Jun 2012, 09:50
Rufname:

AW: Report von Commandline starten - AW: Report von Commandline starten

Nach oben
       Version: Office 2007

Hallo MissPh,

also, wenn Deine Maus nicht kaputt ist, dann geht es auch mit Windows XP (Drag & Drop). Habe es vorhin, wie gesagt, ausprobiert.

Gruß

Christian
MissPh!
Office-VBA-Programmiererin


Verfasst am:
14. Jun 2012, 10:12
Rufname:
Wohnort: NRW

AW: Report von Commandline starten - AW: Report von Commandline starten

Nach oben
       Version: Office 2007

Nein, bei mir funktioniert das nicht und ich kenne dieses Feature ausdrücklich erst seit Windows 7.
Oder könnte es sein, dass wir aneinander vorbeireden? Wie genau hast du das gemeint mit dem Drag & Drop?

_________________
Gruß MissPh!
Bitsqueezer
Office-VBA-Programmierer


Verfasst am:
14. Jun 2012, 10:31
Rufname:

AW: Report von Commandline starten - AW: Report von Commandline starten

Nach oben
       Version: Office 2007

Hallo MissPh,

ich sag's mal so: Wenn Du den Dateityp ".MAR" in Deiner Dateitypenliste findest, dann geht es auch bei Dir. Dieser Dateityp existiert nur für Shortcuts auf Desktop oder im Explorer zu einem Access Report und ohne Drag & Drop kann man diese Shortcuts, soweit ich weiß, nicht erstellen.

Getestet mit A2007 unter Windows XP. Im Navigationsfenster der Datenbank einen beliebigen Report/ein Formular anklicken, festhalten, auf den Desktop ziehen (oder sonstwo in ein Explorerfenster) und loslassen.

Gruß

Christian
MissPh!
Office-VBA-Programmiererin


Verfasst am:
14. Jun 2012, 10:41
Rufname:
Wohnort: NRW


AW: Report von Commandline starten - AW: Report von Commandline starten

Nach oben
       Version: Office 2007

Oh, wie geil ist das denn?! Very Happy

Ich hatte versucht, den geöffneten Bericht zu ziehen, aber der wollte das Access-Fenster nicht verlassen! Rolling Eyes

Kannst du mir nun auch noch verraten, wozu man das (sinnvoll) einsetzen kann? Wink
Denn ein Bericht/Formular ohne gezielte Datenauswahl ist ja meist nur die halbe Miete...

_________________
Gruß MissPh!
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Access: Abfrage mit VBA starten 4 DomW 814 23. Feb 2012, 12:42
redround Access: Abfrage mit VBA starten
Keine neuen Beiträge Access Tabellen & Abfragen: Mehrere Abfragen hintereinander starten 2 90210 2747 25. Sep 2009, 15:48
90210 Mehrere Abfragen hintereinander starten
Keine neuen Beiträge Access Tabellen & Abfragen: Durch Ausführung eines Berichts Tabellenerst.starten 1 Gast 384 25. März 2008, 19:18
rita2008 Durch Ausführung eines Berichts Tabellenerst.starten
Keine neuen Beiträge Access Formulare: Bericht vom Formualr mir Kriterium (gefiltert) starten 1 alex br. 606 19. Dez 2006, 20:55
jens05 Bericht vom Formualr mir Kriterium (gefiltert) starten
Keine neuen Beiträge Access Formulare: Formulargröße verändert sich nach Report 2 spooner 592 27. Jul 2006, 08:58
spooner Formulargröße verändert sich nach Report
Keine neuen Beiträge Access Formulare: Word aus Access starten 7 Joey818 3650 20. Jul 2006, 16:51
Willi Wipp Word aus Access starten
Keine neuen Beiträge Access Formulare: Inputbox von menueleiste aus starten 1 magnum 596 26. Feb 2006, 18:51
Gast Inputbox von menueleiste aus starten
Keine neuen Beiträge Access Formulare: Mit leeren Formularfeldern starten 3 zu GAST im OfficeForu´m 1399 13. Dez 2005, 16:05
zu Gast ........ Mit leeren Formularfeldern starten
Keine neuen Beiträge Access Formulare: Anwendung starten mit entsprechender Textfile aus DB heraus. 1 Katermurr 992 17. Nov 2005, 21:01
jens05 Anwendung starten mit entsprechender Textfile aus DB heraus.
Keine neuen Beiträge Access Formulare: Beim Starten.. 2 Kai_Syke 487 08. Nov 2005, 09:06
Kai_Syke Beim Starten..
Keine neuen Beiträge Access Tabellen & Abfragen: Mehrere Abfragen mit einer Abfrage starten 7 Gast 604 31. Okt 2005, 15:44
stpimi Mehrere Abfragen mit einer Abfrage starten
Keine neuen Beiträge Access Formulare: Access mit minimierten Fenstern starten?! 1 horst 481 20. Sep 2005, 15:38
rita2008 Access mit minimierten Fenstern starten?!
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Expression Web