Access-o-Mania

Access-Forum => Bericht => Thema gestartet von: mad am Januar 23, 2022, 08:15:48

Titel: Bericht nach Feldern sortieren
Beitrag von: mad am Januar 23, 2022, 08:15:48
Hallo Zusammen,

aktuelle habe ich einen Bericht ,,Alle Aktiven - Alter-Dienstzeit" der über die Berichtsfunktion ,,Gruppieren und Sortieren" nach dem Feld ,,Alter" absteigend sortiert wird.
Nun ist der Wunsch aufgetaucht doch den Bericht nach verschieden Feldern sortieren zu können, aber immer nur nach einem Feld:

Entweder nach,

-   NameP – aufsteigend
oder
-   Alter – absteigend
oder
-   Jahre_PID – absteigend

Gibt es die Möglichkeit das beim Aufruf des Berichts irgendwie einzugeben zu steuern? Dann müsste ich nicht drei verschiedene Berichte anlegen!

Code zum Aufruf des Berichts:
Private Sub Alle_Aktiven___Bericht_Click()
On Error GoTo Err_Alle_Aktiven___Bericht_Click

    Dim stDocName As String

    stDocName = "Alle Aktiven - Alter-Dienstzeit"
    DoCmd.OpenReport stDocName, acViewReport    'acPreview
Exit_Alle_Aktiven___Bericht_Click:
    Exit Sub

Err_Alle_Aktiven___Bericht_Click:
    MsgBox Err.Description
    Resume Exit_Alle_Aktiven___Bericht_Click
   
End Sub

Sql-Code der Abfrage:
SELECT Personal.NameP, Personal.Adresse, Personal.HausNr, Personal.PLZ, Ortsteile_1.Ort, Personal.GebDatum, DatePart("yyyy",IIf(Nz([verstorben],0)>0,[verstorben]-[GebDatum]+2,Date()-[GebDatum]+2))-1900 AS [Alter], Personal.EintrittFW1, DateDiff("yyyy",[EintrittFW1],Date()) AS Dienstjahre, Personal.AusgeschiedDatum, Personal.AustrittFW1, Personal.EintrittFW2, Personal.AustrittFW2, Personal.gruppe, Ortsteile.FW_Bezeichn, Ortsteile.Ort AS Wohnort, abf_AktivTageJahre.Jahre_PID
FROM Status INNER JOIN ((Ortsteile AS Ortsteile_1 INNER JOIN (Ortsteile INNER JOIN Personal ON Ortsteile.OrtID = Personal.OrtID_F) ON Ortsteile_1.Ortkenn = Personal.Ortkenn) LEFT JOIN abf_AktivTageJahre ON Personal.PID = abf_AktivTageJahre.PID_A) ON Status.statusID = Personal.statusID_P
WHERE (((Personal.Ortkenn) Like [Bitte Ortskennung eingeben:]))
GROUP BY Personal.NameP, Personal.Adresse, Personal.HausNr, Personal.PLZ, Ortsteile_1.Ort, Personal.GebDatum, DatePart("yyyy",IIf(Nz([verstorben],0)>0,[verstorben]-[GebDatum]+2,Date()-[GebDatum]+2))-1900, Personal.EintrittFW1, DateDiff("yyyy",[EintrittFW1],Date()), Personal.AusgeschiedDatum, Personal.AustrittFW1, Personal.EintrittFW2, Personal.AustrittFW2, Personal.gruppe, Ortsteile.FW_Bezeichn, Ortsteile.Ort, abf_AktivTageJahre.Jahre_PID, Status.statusID
HAVING (((Status.statusID)=1 Or (Status.statusID)=2));

Über Unterstützung würde ich mich sehr freuen.

Gruss
mad