Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Einzelne DS im Endlosformular zum Druck auswählen

Begonnen von pampel, Februar 09, 2017, 08:57:24

⏪ vorheriges - nächstes ⏩

pampel

Hallo zusammen,

ich habe ein Endlosformular, dessen Daten aus einer Abfrage kommen. Nun habe ich das Formular um eine Suche erweitert. In dem Formular kann in einem Feld ein Suchbegriff eingegeben werden, der dann als Filter für die Datensätze genommen wird. Klappt alles super.

Nun kam der bzw. die folgenden Wünsche auf:
Innerhalb der gefiltert ausgegebenen Datensätze sollen nun auf Wunsch des Benutzers einzelne DS gedruckt werden können. Dazu haben wir zwei Varianten vor:
Variante A)
Es soll mit einem Kontrollkästchen möglich sein, nur die DS auszuwählen, die gedruckt werden sollen. Also Häckchen setzen bei den DS-Nr 1,2 5, 9, 12 und 17 -> es werden nur die DS gedruckt.
Alternative dazu: jeder Treffer bekommt eine Schaltfläche. Man klickt also auf eine (entprechend programmierte) Schaltfläche bei jedem einzelnen DS, den man ausgedruckt haben möchte.
Variante B)
Es sollen alle Treffer entsprechend dem Suchbegriff ausgedruckt werden. Also Schaltfläche anklicken -> alle gefundenen Treffer werden ausgedruckt.

Besonders zu den Varianten mit den Kontrollkäschen und der Schaltfläche habe ich Fragen:
- Wie kann ein Lösungsansatz aussehen, der die Kontrollkästchen daraufhin untersucht, ob sie angeklickt sind oder nicht?
- Und wie kann ich jeder einzelnen Schaltfläche ein entsprechendes "Beim Klicken"-Ereignis zuweisen, damit der Druck nur dieses DS angestoßen wird?

Ich habe im Netz schon nach passenden Lösungen geschaut, jedoch nichts passendes gefunden.

Danke für Hinweise.


Gruß,

Stefan

el_gomero

Moin Stefan,

Variante A - in der entsprechenden Tabelle muss das Boolean-Feld eingefügt sein. Die Auswahl fällt dann sehr leicht. Zur Übergabe an den Bericht brauchst du nur das Filterfeld auf Wahr zu selektieren.

Variante B - funzt in einem Endlosform nicht.

Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

DF6GL

Hallo,
Zitat
Kontrollkästchen daraufhin untersucht, ob sie angeklickt sind oder nicht

1. Möglichkeit:  Den Recordset(Clone) des Formulars durchlaufen, das KK checken und entspr. drucken.

2. Möglichkeit:  Mittels Recordset (SQL-String)  die im Form gefilterten Datensätze aus der Tabelle lesen und wie bei 1. bearbeiten. Dazu müssen die Formulardaten aber aktuell gespeichert worden sein.

Zitatjeder einzelnen Schaltfläche ein entsprechendes "Beim Klicken"-Ereignis zuweisen

Bei einem Endlosform gibt es nur ein Steuerelement, das lediglich entspr. der Anzahl  Datensätze "geklont" wird.

Somit braucht der Schaltfläche nur eine Ereignisprozedur zugewiesen werden, die den Ausdruck des durch den Klick auf die Schaltfläche ausgewählten DS anstößt.

Sub btnDrucken_Click()
Docmd.Openreport "rptMeinBericht",,,"ID = " & Me!ID
End Sub

oder wenn alle im Form gefilterten DS gedruckt werden sollen:


Sub btnDrucken_Click()
Docmd.Openreport "rptMeinBericht , , Me!Filter
End Sub
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

MzKlMu

Hallo,
ich würde die Variante mit dem Hakenfeld bevorzugen. Das muss allerdings bereits in der Tabelle angelegt werden, sonst ist das Feld nicht datensatzbezogen.
Den Filter kannst Du um die Zustandsabfrage für das Hakenfeld erweitern.
Und wenn Du alle angehakten DS drucken willst, kannst Du den Filter dem Druckbefehl übergeben.

Zeige bitte mal den Aufbau/Aufruf des Filters.
Gruß Klaus

pampel

Hallo,

komme jetzt erst dazu, Eure Vorschläge zu lesen und umzusetzten - vielen Dank schon mal daür.

Das Suchformular habe ich nach dieser Anleitung gestrickt:
http://www.office-loesung.de/ftopic13271_0_0_asc.php

Gruß,

Stefan

DF6GL

Hallo,

wie das Suchformular aussieht, ist zunächst unerheblich.

Wichtig ist:  Die zugrunde liegende Tabelle muss ein Ja/Nein Feld enthalten ("drucken"), das auch im Formular angezeigt wird und somit editierbar ist.

Mit einem Button (im Formularkopf, "btnDrucken")  und einer Ereignisprozedur wird der Druck aller angehakten (markierten) Datensätze angestoßen (ähnlich wie vorher schon gesagt):

Sub btnDrucken_Click()
Docmd.Openreport "rptMeinBericht",,,"drucken <>0"
End Sub


Diese Methode erfordert aber die konsequente manuelle Pflege der "Haken" oder es werden alle Haken nach dem Drucken automatisch resettet:

Sub btnDrucken_Click()
Docmd.Openreport "rptMeinBericht",,,"drucken <>0"
Currentdb.Execute "Update tblMeineTabelle Set Drucken =0"
Me.Refresh  'evtl auch Me.FilterOn = true
End Sub





Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access