Avatar billede crazy_zim Nybegynder
05. februar 2005 - 08:39 Der er 10 kommentarer og
1 løsning

Udskrive liste over antal medlemmer fordelt på alder

Hejsa
Jeg har en medlemsdatabase og skal indberette hvor mange medlemmer der er indenfor bestemte aldersgrænser. Hvordan gøres det nemmest. Vil være glad for nogle eksempler, da jeg ikke har så meget forstand på Access.
05. februar 2005 - 08:41 #1
kan du give nogle flere oplysninger?

Har du fødselsdato på personerne. Hvad hedder feltet? Hvad hedder tabellen?
05. februar 2005 - 08:42 #2
eller har du deres alder gemt i et felt?
Avatar billede crazy_zim Nybegynder
05. februar 2005 - 09:06 #3
Jeg har en tabel der hedder medlem hvor jeg har et felt der hedder Fødselsdag, hvor deres fødselsdato er indtastet i formatet dd-mm-åååå.
Kan godt lave en =count([Fødselsdag]) som giver det samlede antal personer, men at få dem splittet op i aldersgrupper, det kan jeg ikke finde ud af.
Avatar billede mugs Novice
05. februar 2005 - 09:23 #4
Du kan beregne alderen således, og derefter uddrage en aldeersgruppe med en Select Case. Læg koden ind i et modul og kald det Modul2:

Public Function Alder(Dato As Date) As Integer
    If DateSerial(Year(Date), Month(Dato), Day(Dato)) > Date Then
        Alder = DateDiff("yyyy", Dato, Date) - 1
    Else
        Alder = DateDiff("yyyy", Dato, Date)
    End If
    Select Case Alder
    Case 15 To 20
    MsgBox "Aldersgruppe 15-20"
    Case 21 To 25
    MsgBox "Aldersgruppe 21-25"
    End Select
   
End Function

I formularen kalder du funktionen således:

Dim a As Date
a = Me.fødselsdag
MsgBox Module2.Alder(a)

Jeg har testet det i en db. Læg din e-mail hvis du vil have den.
Avatar billede mugs Novice
05. februar 2005 - 09:44 #5
Eller sådan, hvor du tildeler 2 felter henholdsvis Alder og Aldersgruppe:

Private Sub Kommandoknap15_Click()
If DateSerial(Year(Date), Month(fødselsdag), Day(fødselsdag)) > Date Then
Tekst16 = DateDiff("yyyy", fødselsdag, Date) - 1
Else
Tekst16 = DateDiff("yyyy", fødselsdag, Date)
End If
Select Case Tekst16
Case 15 To 20
Me.Tekst13 = 1
Case 21 To 25
Me.Tekst13 = 2
End Select
End Sub

Hvor Tekst16 indeholder Alder og Tekst13 en aldersgruppe.
Avatar billede crazy_zim Nybegynder
05. februar 2005 - 09:57 #6
me_the_zim@hotmail.com
Når du skriver at jeg skal lægge koden ind i et modul og kalde det Module2, er det så en form du mener eller?
Avatar billede mugs Novice
05. februar 2005 - 10:03 #7
Nej i et modul. Åbn db i databasevinduet Fanen Moduler.
Db er sendt.
Avatar billede crazy_zim Nybegynder
05. februar 2005 - 10:21 #8
OK - tak for det. Kigger på det senere....
05. februar 2005 - 13:38 #9
Mugs, hvordan bliver det til en liste, som kan udskrives (jf. overskriften på spm)?
05. februar 2005 - 13:41 #10
Hvorfor ikke bare lave det i en forespørgsel?

nå, never mind. Spørgsmpl er accepteret, så crazy_zim må jo være tilfreds :o)

Fortsat god weekend :o)
Avatar billede mugs Novice
05. februar 2005 - 19:08 #11
Thomas > Det har du jo ret i. Men før vi kan det, må medlemmerne jo placeres i de forskellige aldersgrupper inden en rapport udskrives.

Jerg tror iøvrigt ikke spørgeren har afprøvet forslaget inden mit svar blev accepteret.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester