Oktober 31, 2020, 22:33:32

Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!


Nur bestimmte Berichte drucken

Begonnen von carman0103, Mai 06, 2020, 12:58:29

⏪ vorheriges - nächstes ⏩

carman0103

Hallo,

ich habe folgendes Problem: Ich verwalte in einer DB diverse Events. Zu jedem Event gibt es mehrere mögliche Berichte. Diese kann ich über eine Schaltfläche mit einem Klick alle zusammen ausdrucken. Nicht immer sind alle Berichte für ein Event nötig. Ist es möglich, dass ich Kontrollkästchen in der Tabelle mit den Events anlege und nur die ausgewählten Berichte gedruckt werden? Wäre toll, wenn Ihr da eine Idee hättet. Und vielen Dank schonmal im Voraus.
Wer andern eine Bratwurst brät, hat meist ein Bratwurstbratgerät  Grinsend

Maxel

Mai 06, 2020, 13:10:49 #1 Letzte Bearbeitung: Mai 06, 2020, 13:15:22 von Maxel
Du kannst beim Öffnen des Berichts angeben, welche Datensätze gedruckt werden sollen, falls das Deine Fragestellung trifft:

DoCmd.OpenReport "DeinBericht", acViewPreview, , "DeinJa/NeinFeld"
Gruß
Maxel

DF6GL

Hallo,

wenn es sich um einzelne und voneinander unterschiedliche Berichte handelt, könnten die zu einem Event gehörenden Berichte (Berichtsnamen)  in einer Tabelle einschließlich der Event-ID hinterlegt werden.
Über ein  Kombis (für die Event-Auswahl)  werden die zum Event gehörenden Berichtsnamen in einem Listenfeld aufgelistet.  Mittels Mehrfachauswahl der Listenfeld-Einträge können dann die markierten Berichte gedruckt werden.

carman0103

Zuerst mal vielen Dank für die schnellen Antworten.

@Maxel: das ist leider nicht das, wonach ich suche, aber trotzdem vielen Dank.

@DF6GL: Das klingt doch schon mal ganz gut. Ich habe jetzt eine Tabelle, in der die Berichtsnamen nebst Event-Nr. gesammelt werden. Ich bekomme diese Berichtsnamen auch in ein Listenfeld. Aber nun hänge ich. Mehrfachselektion hab ich noch nie gemacht. Also was sind nun die weiteren Schritte?
Wer andern eine Bratwurst brät, hat meist ein Bratwurstbratgerät  Grinsend

Beaker s.a.

@Carman0103
Suche in der OH den Begriff "ItemsSelected" (Eigenschaft des Listbox-
Controls). Das dort gezeigte Beispiel solltest du auf deine Bedürfnisse
umschreiben können.
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.

carman0103

Hallo und vielen Dank für den Hinweis. Leider bin ich bei VBA nicht wirklich fit. Ich komme irgendwie nicht weiter.
Wer andern eine Bratwurst brät, hat meist ein Bratwurstbratgerät  Grinsend

DF6GL

Hallo,

lad die Db mal hier hoch, komprimiert/repariert und gezippt...

Beaker s.a.

@carman0103
Eigentlich solltest du es mit dem Beispiel in der OH auch selber hinbekommen
Private Sub cmdPrintSelectedReports_Click()
'das ist ein Button neben/über/unter dem Listfeld
    Dim sRepName As String
    Dim vItem As Variant
    With Me.DeineListe    ' Name anpassen
        For Each vItem In .ItemsSelected
            sRepName = .Column(1, vItem)   '1 ist die Spalte mit dem Reportnamen (s.u.), vItem die "ZeilenID" aus der Auflistung ItemsSelected
            DoCmd.OpenReport sRepName, ...   'die weiteren Parameter kannst nur du bestimmen
        Next
    End With
End Sub

Aufbau Listenfeld: 2 Spalten -> RepID, RepName
Spaltenbreiten: 0cm;5cm
gebundene Spalte: 1
Mehrfachauswahl: erweitert

gruss ekkehard

P.S.: wenn du bei anderen Listfeldern mal den Wert aus der gebundenen
Spalte benötigst, lautet die Zeile zum Auslesen einfach
lVar = .ItemData(vItem)
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.

carman0103

Hallo zusammen,

vielen Dank für Eure Hilfe. Mit viel Geduld habe ich es jetzt hinbekommen.
Wer andern eine Bratwurst brät, hat meist ein Bratwurstbratgerät  Grinsend