title image


Smiley TIPP: Mitgliederzahlen (Belegung im Zeitraum) ermitteln
Schnell eingehackt und nicht groß getestet:



Public Function Mitgliederzahl()

Dim RS As DAO.Recordset, RSN As DAO.Recordset, DB As DAO.Database, _

D As Date, I As Long, MonArr() As Long, Startdatum As Date, Enddatum As Date, SQL As String

Set DB = CurrentDb

On Error Resume Next

DB.Execute "DROP TABLE tblMitgliederzahl"

On Error GoTo 0

DB.Execute "CREATE TABLE tblMitgliederzahl (Jahr Long, Monat Long, Mitgliederzahl Long)"

Set RSN = DB.OpenRecordset("TBLMitgliederzahl", dbOpenDynaset)

Startdatum = DateSerial(2004, 1, 1) ' oder wie auch immer...

Enddatum = DateSerial(2004, 12, 1)

ReDim MonArr(DateDiff("m", Startdatum, Enddatum))

SQL = "SELECT * FROM Mitglieder WHERE " & _

"(MitgliedBis >=#" & Format(Startdatum, "yyyy-mm-dd") & _

"# Or Mitgliedbis IS NULL) AND MitgliedAB <=#" & Format(Enddatum, "yyyy-mm-dd") & "#"

Set RS = DB.OpenRecordset(SQL, dbOpenDynaset)

Do Until RS.EOF

D = Startdatum

I = 0

Do Until D >= Enddatum

If RS!Mitgliedbis <= D Then Exit Do

If RS!Mitgliedab <= D Then MonArr(I) = MonArr(I) + 1

D = DateAdd("m", 1, D)

I = I + 1

Loop

RS.MoveNext

Loop

D = Startdatum

I = 0

Do Until D >= Enddatum

RSN.AddNew

RSN!Jahr = Year(D)

RSN!Monat = Month(D)

RSN!Mitgliederzahl= Monarr(I)

RSN.Update

D = DateAdd("m", 1, D)

I = I + 1

Loop

RS.Close

RSN.Close

End Function



Gruß aus dem Norden
Reinhard


Bitte immer die Access-Version angeben!
DB-Wiki


Wie man Fragen richtig stellt

YaccessAccess-FAQUnd ansonsten: Wikipedia




geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: