PDA

Vollständige Version anzeigen : Drucklayout


Bohaberl
01.04.2004, 11:00
Hallo,

ich würde gerne ein Formular ausdrucken. Doch stehe ich vor dem Problem, dass er nicht nur den aktuelle Datensatz des Formulars ausdrucken will, sondern die Gesammtheit aller Datensätze untereinander aufgelistet.

Zu sehen hier:
[http://www.ld-lan.de.vu/drucklayout.jpg]

Ich habe bereits die Access eigene Hilfe durchgestöbert, treffe aber in diesem Zusammenhang nur auf das Menü: Seite Einrichten. Auch in den Eigenschaften des Formulars habe ich nix finden können (oder habe ich was übersehen?)

Kann man das überhaupt so hinbekommen, dass nur der Aktuelle Datensatz gedruckt wird?

mfg Boris

Arne Dieckmann
01.04.2004, 11:02
Zum Drucken verwendet man Berichte! Dort kannst Du den zu druckenden Datensatz auch leicht auswählen. S. dazu FAQ 5.9.

TommyK
01.04.2004, 11:12
Hallo,

wenn es unbedingt das Form sein soll mit dem aktuellen DS dann klappts damit:
DoCmd.PrintOut acSelection

Bohaberl
01.04.2004, 11:25
So habs mal mit <b>DoCmd.PrintOut acSelection</b> getestet, indem ich diesen Code auf eine Klickprozedur eines Knopfes gelegt habe:

<B>

Private Sub Befehl8_Click()

DoCmd.PrintOut acSelection

End Sub
</B>

Der Befehl nennt sich nur aus Testzwecken Befehl8. :) Später bekommt er nen treffenderen Namen. Jedoch erscheint diese Fehlermeldung:

Laufzeitfehler '2212';
Microsoft Access konnte Ihr Objekt nicht drucken.

Einen Standartdrucker habe ich übrigends definiert - der klappt auch.

Bohaberl
01.04.2004, 11:32
Keine Ahnung warum, aber nu klappt es :)

Sowas soll auch ma vorkommen

TommyK
01.04.2004, 11:36
Hallo,

schön das es jetzt klappt.

Habe es gerad auch nochmal bei mir getestet, es ging egal ob Einzelnes Form oder Endlosform.

Bohaberl
01.04.2004, 11:46
Da ich diese Datenbank für ein Firmennetzwerk anlege, kann es vorkommen das zB ein falscher Standartdrucker eingestellt wird. Ich habe das mal exemplarisch getestet und mal so nen falschen Drucker als standart defniert.

Es erscheint daraufhin ein Laufzeitfehler mit dem Verweis zum Debuggen. Wäre es möglich per On Error oder Ähnlichem die MsgBox ("Kann Drucker nicht finden") einblenden zu lassen - anstelle des Laufzeitfehlers (sprich den Laufzeitfehler unterdrücken)?

Wäre wohl ne gemeidigere Variante :)

Bohaberl
01.04.2004, 11:49
Ich hab ja fast 0 Ahnnug von Codegeschichten, aber von anderen Codes abgeleitet müsste es doch so klappen:


<B>

Private Sub Drucken_Click()
DoCmd.PrintOut acSelection

On Error GoTo Err_Drucken_Click

Err_Drucken_Click:
MsgBox ("Kann Drucker nicht finden")
Exit Sub

End Sub

</B>


oder?

*austest*

TommyK
01.04.2004, 11:54
Hallo,

aber es können ja noch andere Fehler auftreten und ausserdem muss der
Verweis zur Fehlerrountine hier vor dem Aufruf der Prozedur liegen.

Vielleicht eher so:

Private Sub Drucken_Click()
On Error GoTo Err_Handler

DoCmd.PrintOut acSelection

Exit_Here:
Exit Sub

Err_Handler:
If Err='... Fehlernummer Then
MsgBox "Kann Drucker nicht finden"
Else
Dim strErrString As String
strErrString = "Error Information..." & vbCrLf
strErrString = strErrString & "Error#: " & Err.Number & vbCrLf
strErrString = strErrString & " Description: " & Err.Description & vbCrLf
MsgBox strErrString, vbCritical + vbOKOnly, "Error in Function: DeineSub"
End If
Resume Exit_Here
End Sub

Du musst aber noch bei "Fehlernummer" die Nummer eintragen, da ich die nicht kenne.
Du ermittelst diese indem Du den Code ohne Fehlerrountine aufrufst und
Dir die Nummer merkst die in der MsgBox erscheint.