Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Drucken des aktuellen Datensatz in einem Formular





Frage

Hallo! Ich möchte den jeweils aktuell angezeigten Datensatz in einem Formular drucken. Ich habe dafür einen Button und mithilfe des Assistenten einen dazugehörigen Ereignis-Code erstellt. Nun habe ich folgendes Problem: Wenn ich auf diesen Button klicke, werden alle Einträge ausgedruckt, nicht nur der aktuell angezeigte. Ich habe die Hilfe konsultiert und gesucht und probiert, aber ich finde keine Lösung. Hier ist der Code (das acSelection stammt von mir, hat aber keinen Unterschied gemacht): Private Sub Drucken_Click() On Error GoTo Err_Drucken_Click Dim stDocName As String Dim MyForm As Form stDocName = "Adressenliste" Set MyForm = Screen.ActiveForm DoCmd.SelectObject acForm, stDocName, True DoCmd.PrintOut acSelection DoCmd.SelectObject acForm, MyForm.Name, False Exit_Drucken_Click: Exit Sub Err_Drucken_Click: MsgBox Err.Description Resume Exit_Drucken_Click End Sub Ich muß auch zugeben, daß ich den VisualBasic Code und die verschiedenen Befehle in der Hilfe nicht ganz verstehe. Könnte mir bitte jemand etwas Erleuchtung bringen? Danke und mfG Schnoof

Antwort 1 von Phantom_Fies

In dem angegebenen Code selektierst du lediglich das aktuelle Formular, was keinen Sinn macht.
Es gibt folgende Möglichkeit:

Du markierst den auszudruckenden DS per Hand, und schreibst folgenden Code in das Click-Ereignis:


SendKeys "^(p)", True

Im folgenden Dialog wählst du dann Markierte Datensätze aus.

Vielleicht weiß aber jemand anderes noch eine bessere Lösung.

Antwort 2 von oliverV

Hallo Schnoof,

ich gehe mal davon aus, das du in deinem Formular die Einzel-Formular-Ansicht gewählt hast und aus dem heraus den Bericht öffnen bzw. drucken willst.

Wenn dies der Fall ist, kannst du in der Datensatzherkunft deines Berichtes bei deinem Schlüsselfeld (Kunden-Nr. / Adress-Nr.) als Kriterium
Formulare![Formularname]![Kunden-Nr.] eingeben.

(Ersetze Formularname und Kunden-Nr. mit deinem Formularnamen bzw. Feldnamen)

Gruß
oliver


Antwort 3 von Schnoof

Hallo Oliver,

ja, ich habe die Einzel-Formular-Ansicht gewählt, aber ich wollte eigentlich nicht den Schritt über den Bericht gehen. Da weiß ich nämlich nicht so recht, wie ich das überhaupt und letztendlich auch noch DAU-freundlich machen soll.

Aber ich versuch das mal.

Danke!
Schnoof

Antwort 4 von Schnoof

Also, ich habe mich noch einmal probiert. Ich habe einen zweiten Button auf das Formular gepackt, und dort beim Assistenten 'Datensatz drucken' ausgewählt (das hatte ich vorher total übersehen).

Jetzt sieht der Code wie folgt aus:

Private Sub Drucken_Click()
On Error GoTo Err_Drucken2_Click


DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.PrintOut acSelection

Exit_Drucken2_Click:
Exit Sub

Err_Drucken2_Click:
MsgBox Err.Description
Resume Exit_Drucken2_Click

End Sub

Jetzt funktioniert's.

Bis denne!
Schnoof

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: