CaptainCrash20 Geschrieben 12. August 2002 Teilen Geschrieben 12. August 2002 Hallo, wie kann man aus einer Angabe über den Geburtstag berechnen wie alt die enstprechende Person ist? Gruß Daniel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
JayN Geschrieben 12. August 2002 Teilen Geschrieben 12. August 2002 Ganz einfach: Dim Gebdat as Date Dim Alter as Integer If Year (now) > Year (Gebdat) Then If Month (now) > Month (Gebdat) Then Alter = Year (now) - Year (Gebdat) Elseif Month (now) = Month (Gebdat) Then If Day (now) >= Day (Gebdat) Then Alter = Year (now) - Year (Gebdat) Elseif Day(now) < Day (Gebdat) Then Alter = Year (now) - Year (Gebdat) - 1 End if Elseif Month (now) < Month (Gebdat) Then Alter = Year (now) - Year (Gebdat) - 1 End if Elseif Year (now) = Year (Gebdat) Then .... dann ist das Alter unter 1 und muß in Monaten angegeben werden... ich denke, den Rest kannst Du selber coden. JayN Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
UBAI Geschrieben 12. August 2002 Teilen Geschrieben 12. August 2002 In dem du das Geburtsjahr vom aktuellen Jahr abziehst. Dabei aber die Datumsformatierung beachtest. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Meenzer Geschrieben 13. August 2002 Teilen Geschrieben 13. August 2002 Hi! Schau mal bei der Funktion DateDiff nach. Da kannst Du ein Anfangs und Enddatum eingeben und Dir die Zeit in Tagen, Stunden , Minuten oder Sekunden ausrechnen lassen. Gruss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
CaptainCrash20 Geschrieben 15. August 2002 Autor Teilen Geschrieben 15. August 2002 Danke! DateDiff hat geholfen! Und wers braucht hier die Syntax die das Alter in Jahren ausgibt: Form_Daten.Alter = DateDiff("yyyy", Form_Daten.GebDatum, Date) Erklärung: Ergebnis = DateDiff("Jahren",Geburtsdatum,Aktuelles Datum) Formatierung des Geburtsdatums: 23.11.1981 Gruß Daniel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
piomode1 Geschrieben 24. September 2002 Teilen Geschrieben 24. September 2002 Hi, CaptainCrash20! Gibt DIR die Funktion DateDiff WIRKLICH das Alter aus? Wie verhält sich die Funktion, wenn die Person (im Endjahr) noch keinen Geburtstag hatte? Probier mal folgendes im VBA-Direktfenster: ?datediff("yyyy",#30/8/2000#,#30/3/2002#) oder in einer Abfrage y_Alter: DatDiff("jjjj";#30.08.00#;#30.03.02#) Die Person ist im März 2002 erst 1 Jahr alt (erst Ende August 2002 wird sie 2 Jahre alt sein) Wenn Du ohne weiteren Aufwand korrekt "1" herausbekommst und nicht "2", wäre ich für Hilfe sehr dankbar!!! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Art Geschrieben 26. September 2002 Teilen Geschrieben 26. September 2002 wie siehts damit aus? DateDiff("d", #8/30/2000#, #3/30/2002#) / 365 da kommt dann irgendwas mit 1,5... raus. kann man ja dann gerade machen, wenn du unbedingt ganze zahlen brauchst. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
piomode1 Geschrieben 27. September 2002 Teilen Geschrieben 27. September 2002 Hi, Art! Deine Lösung ist ja sehr schön. (Mit int(<Zahl>) bestimme ich die vollendeten Jahre) Eine Unsicherheit bleibt!?: Was ist mit Schaltjahren (w/ /365)? Ich habe dieses spezielle Problem mit VBA folgendermaßen gelöst: Function GanzeJahre(dDatumStart As Date, dDatumZiel As Date) As Long Dim iJahre As Long 'Jahreszahlen voneinander abziehen: '(mehr macht DateDiff bei Jahren auch nicht...!) iJahre = Year(dDatumZiel) - Year(dDatumStart) 'Jahr nicht vollendet: If DateSerial(2000, Month(dDatumStart), Day(dDatumStart)) _ > DateSerial(2000, Month(dDatumZiel), Day(dDatumZiel)) Then iJahre = iJahre - 1 End If GanzeJahre = iJahre End Function Was mich an dieser Stelle interessieren würde: Wie lautet die Definition "Ein Jahr ist vollendet"? Start: 1. Januar 2000 Vollendet am 31.12.2000 oder am 1. Januar 2001? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Art Geschrieben 27. September 2002 Teilen Geschrieben 27. September 2002 hm, das schaltjahr nimmt der doch automatisch mit oder? und oben sind es tage. ne kleine ungenauigkeit bleibt allerdings. wie siehts denn hiermit aus? Private Sub Command1_Click() Text1.Text = "30.03.2000" Text1.Text = CLng(Date) - CLng(CDate(Text1.Text)) Text1.Text = Text1.Text / 365 End Sub zumindest gibts beim 29. feb der nicht ein schaltjahr ist einen fehler Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nepoprawim Geschrieben 22. November 2011 Teilen Geschrieben 22. November 2011 Hi! Also ich habe dasselbe Problem, aber kaum Vorkenntnisse in Access, so dass ich eine extrem ausführliche Beschreibung für die berechnung des Alters bräuchte:P Also was man wo genau eingibt etc., ich wäre für jede Hilfe extremst dankbar! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.