Hallo nochmals.
Auch nach langer Suche leider kein Ergebnis gefunden. Möchte aus einem Formular (die Daten herzu stammen aus einer Abfrage) den aktuellen Datensatz ausdrucken, heißt der Datensatz der aufgerufen ist mittels Schaltfläche drucken. Ich habs mit Schaltfläche und Makro versucht (Drucken-Auswahl und Drucken-Objekt) aber leider kein Erfolg.
Woran liegts? Ist Access 2010.
Ich danke für jeden Hinweis.
Bastel74
Hallo,
über einen Button auf deinem Formular KÖNNTEST du einen Bericht aufrufen, der als Datenherkunft eine Abfrage besitzt.
Das Auswahlkriterium dieser Abfrage stellt die ID, den Primärschlüssel des aktuellen Datensatzes dar.
Daten mit dem aktuell angezeigten Formular zu drucken ist nicht das Gelbe vom Ei... ;)
Dank für die Informationen.
Wir haben es über ein ID-Feld mit Primärschlüssel eingestellt. Eine Abfrage bietet die Basis für den Ausdruck.
Problem: der Datensatz wird nicht gedruckt, sondern alle Datensätze.
Wir kann ich jetzt NUR den aktuellen Datensatz drucken? Makro?
Danke.
Bastel74
Hallo,
wahrscheinlich hast Du im Bericht keine Selektion.
Eine Möglichkeit wäre mit me.filter zu arbeiten.
Beim Öffnen
Me.Filter = "ID = " & forms!DeinFormName!ID
Me.FilterOn = true
Gruß
Johann
Probier mal den nachfolgenden Code im Klickereignis einer Ereignisschaltfläche.
Den Berichtsnamen "rpt_Adressdeckblatt" musst Du Deinem Berichtsnamen anpassen. Die Datenherkunft des Berichtes ist die Tabelle selbst, also keine Abfrage. Nr ist der Primärschlüsselwert aus der Tabelle, dessen Form Du öffnest. Die Fehlermeldung "If IsNul ....." musst Du hinsichtlich des Nachnamens dem Inhalt eines Textfeld Deiner DB anpassen, unter welchen Bedingungen und ob überhaupt wo eine Prüfung erfolgen soll:
On Error GoTo Err_vorschau_Click
Dim stDocName As String
stDocName = "rpt_Adressdeckblatt"
If IsNull(Me!Nachname) Or Nachname = 0 Or Nachname = "" Then
MsgBox "Erstellen Sie zunächst den Adressdatensatz, um diese Funktion auszuwählen.", 64, "Hinweis"
Me!Nachname.SetFocus
Else
RunCommand acCmdSaveRecord
DoCmd.OpenReport stDocName, acPreview, , "[Nr]=" & Me![Nr]
' Seitenvorschau an Fenstergrösse anpassen
DoCmd.RunCommand acCmdFitToWindow
End If
Exit_vorschau_Click:
Exit Sub
Err_vorschau_Click:
MsgBox Err.Description
Resume Exit_vorschau_Click
Hallo an alle.
Danke für die Hilfe.
Aber warum ist es in Access so kompliziert. So einfache Dinge die man oft benötigt so umständlich erstellen zu müssen.
Und das obwohl es ein Makro für Duplizieren gibt und auch für Drucken, aber diese nicht so funktionieren, wie gewünscht.
Aber dafür könnt ihr ja auch nichts, ich probiers mal aus. Danke.
Bastel74