Hatte das Prob auch, anstatt mir jetzt das Hirn zu verrenken und eine irre if-Verschachtelung oder choose-Verschachtelung aufzubauen, habe ich einfach beim Öffnen des Reps folgenden Code angelegt:
Private Sub Report_Open(Cancel As Integer)
Dim db As DATABASE
Dim RS As Recordset, rsStruktur As Recordset
Set db = CurrentDb()
Set RS = db.OpenRecordset(„SELECT DateDiff(‚yyyy‘,[Geburtstag],Date()) AS [Alter] FROM Mitarbeiter WHERE (((IsDate([Geburtstag]))=True));“, DB_READONLY)
DoCmd.RunSQL „UPDATE Altersstruktur SET Altersstruktur.Anzahl = 0;“
Set rsStruktur = db.OpenRecordset(„Altersstruktur“, dbOpenDynaset)
RS.MoveFirst
BeginTrans
Do
Select Case RS!Alter
Case 20 To 29
rsStruktur.FindFirst „AltersstrukturID=1“
rsStruktur.Edit
rsStruktur!Anzahl = rsStruktur!Anzahl + 1
rsStruktur.Update
Case 30 To 39
rsStruktur.FindFirst „AltersstrukturID=2“
rsStruktur.Edit
rsStruktur!Anzahl = rsStruktur!Anzahl + 1
rsStruktur.Update
Case 40 To 49
rsStruktur.FindFirst „AltersstrukturID=3“
rsStruktur.Edit
rsStruktur!Anzahl = rsStruktur!Anzahl + 1
rsStruktur.Update
Case 50 To 59
rsStruktur.FindFirst „AltersstrukturID=4“
rsStruktur.Edit
rsStruktur!Anzahl = rsStruktur!Anzahl + 1
rsStruktur.Update
Case 60 To 100
rsStruktur.FindFirst „AltersstrukturID=5“
rsStruktur.Edit
rsStruktur!Anzahl = rsStruktur!Anzahl + 1
rsStruktur.Update
End Select
RS.MoveNext
Loop Until RS.EOF
CommitTrans
Set rsStruktur = Nothing
Set RS = Nothing
Set db = Nothing
End Sub
Kannst das ja jetzt noch ausbauen.
CU
Alex
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]