Avatar billede rosco Novice
21. november 2002 - 14:19 Der er 10 kommentarer og
1 løsning

Ved død, Hvor gammel blev han så.

Jej har en skuespiller database, med felterne født, alder, død. Alder beregnes med

Indsat som modul

Public Function Alder(Dato As Date) As Integer
    If DateSerial(Year(Date), Day(Dato), Month(Dato)) > Date Then
        Alder = DateDiff("yyyy", Dato, Date) - 1
    Else
        Alder = DateDiff("yyyy", Dato, Date)
    End If
End Function


Eks i en ubundet tekstboks:

=IIf([Fødselsdato] Is Not Null;alder([Fødselsdato]))
Hvordan beregnes det, hvor gammel han/hun blev hvis der er en dato i feltet [Død].
Avatar billede hugopedersen Nybegynder
21. november 2002 - 14:44 #1
Forslag :

Brug en rutine magen til men hvor du i stedet for dato og date bruge født og død til at beregne forskellen.  Det burde give dig et tal der kan bruges.
Avatar billede rosco Novice
21. november 2002 - 14:53 #2
Jeg vil kun have et felt til aldersberegning, det skal indeholde alder hvis der er en fødselsdato, hvis der også er en Dødsdag, skal feltet beregne forskel mellem fødselsdag og død.
Avatar billede mugs Novice
21. november 2002 - 15:43 #3
If Not IsNull(Me.Død) Then
din aldersberegning i fødselsdato og dødsdato
Else
aldersberegning med udgangspunkt i fødselsdato og Date()
End If
Avatar billede rosco Novice
21. november 2002 - 16:02 #4
Mugs: Jeg har problemer med at få den løsning til at virke i feltets "Kontrolelementkilde"
Avatar billede mugs Novice
21. november 2002 - 16:06 #5
Det er VBA og kan ikke bruges direkte som postkilde.
Indsæt koden i f.eks felterne "Død" og "Fødselsdato" i BeforeUpdate event.
Avatar billede mugs Novice
21. november 2002 - 16:09 #6
Du må også kunne integrere koden i dit modul:

If IsNull(Me.Død) Then
If DateSerial(Year(Date), Day(Dato), Month(Dato)) > Date Then
Alder = DateDiff("yyyy", Dato, Date) - 1
Else
Alder = DateDiff("yyyy", Dato, Død)
End If
End If

Det må kunne lade sig gøre, men jeg har ikke afprøvet det.

Else
aldersberegning med udgangspunkt i fødselsdato og Date()
End If
Avatar billede eyvind Seniormester
21. november 2002 - 18:41 #7
Jeg har lavet en lille "dato indtastning" som beregner forskellen
mellem startdato og slutdato/dagsdato. Resultat i år og måneder.
Access 2000
=IIf(IsNull([Startdato]);"Ukendt dato";IIf(IsNull([Slutdato]);(DateDiff("m";[Startdato];Date())\12) & " år og " & (DateDiff("m";[Startdato];Date()) Mod 12) & " mdr.";(DateDiff("m";[Startdato];[Slutdato])\12) & " år og " & (DateDiff("m";[Startdato];[Slutdato]) Mod 12) & " mdr."))
Eyvind.
Avatar billede rosco Novice
21. november 2002 - 19:16 #8
Den giver Resultatet #navn?
Avatar billede eyvind Seniormester
21. november 2002 - 19:28 #9
Hej Rosco!
Det er en lille database på 144kb hvis du vil have den tilsendt
til afprøvning, for den virker her hos mig. Jeg kan ikke
umiddelbart se fejlen.
Eyvind
Avatar billede rosco Novice
21. november 2002 - 19:32 #10
det skal da prøves. adressen er, erlenbach@adslhome.dk
Avatar billede rosco Novice
21. november 2002 - 20:02 #11
eyvind: Jeg havde lavet en stavefejl,derfor fejlen #navn?,  men det hjalp at se hvordan du havde gjort det. Det var lige det jeg skulle bruge. Månederne skulle jeg egentlig ikke bruge, men det ser nu godt ud. Mange tak for hjælpen.
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