Serieller Port und MS Access. Port offen lassen?

#2518725
Lesenswert?

Ich möchte under MS Access einen Bondrucker über die serielle 
Schnittstelle in VBA ansteuern. Dazu benutze ich MSCOMM32.OCX. Der 
Drucker druckt auch wunderbar.
Jetzt habe ich mal eine grundsätzliche Frage: Ich übergebe einer 
Prozedur den Druckauftrag, diese öffnet den COM-Port, schiebt die Daten 
raus und schließt den Port wieder. Wie sollte man hier vorgehen: Beim 
Start der Anwendung den Port öffnen und vor jedem Druckauftrag prüfen, 
ob er noch offen ist, oder vor jedem Auftrag Port öffnen und danach 
gleich wieder schließen?


Gruß.
Gast #2518754
Lesenswert?

Sinnigerweise sollte man unter Windows auch via Windows drucken.
Warum richtest du den Drucker nicht einfach als einen ein der an einer 
COM Schnittstelle hängt und schiebst ihm ein klassischen Access Report 
rüber?

Zu deiner Frage: Ich persönlich würde den COM Port vor jedem Auftrag 
öffnen und danach wieder schliessen.

mfg
Joerg
Gast #2518770
Lesenswert?

Hallo,

habe auch 'mal vor Jahren Bon- bzw. ähnliche Drucker aus MS-Access 
angsteuert.
Dabei habe ich zu Beginn der Druckroutine geprüft ob der Port "offen" 
ist.
Wenn nicht, dann Port öffnen und zu Ende der Druckroutine wieder 
schließen.

@Joerg
Manche Drucker können nicht als Windows-Drucker angesprochen werden, 
daher spezielle Ausgabe der Druckbefehle über COM.

Gruß Micha
Gast #2518996
Lesenswert?

meist lassen sich diese Drucker auch über windows ansteuern, aber dann 
sind es bitmap drucker. Man kann dann soetwas wie barcode nicht einfach 
nutzen. Zu einen Drucker ist auch eine DLL dabei, diese nutzt dann den 
Windows treiber und "tunnelt" dann spezielle Befehle - das ist meines 
wissen die sauberste lösung.

Wenn der Drucker aber das nicht bietet, würde ich den Port öffnen und 
schließen wie du es jetzt schon machst. Das hat den Vorteil das auch 
eine andere Anwendung den Drucker noch nutzen kann. Der Com-Port nutzt 
sich nicht ab wenn man ihn merfach öffnen und schließt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren