07. november 2009 - 18:11Der er
5 kommentarer og 1 løsning
Beregning på datofelt
I Access 2007 har jeg et felt med fødselsdato f.eks. 07-11-1937. Ved udskrift af rapport vil jeg gerne have udregnet og vist en alder i hele år, ud fra fødselsdatoen. Jeg har forsøgt på forskellige måder med DateDiff i udtryksgeneratoren - uden held. Kan det overhovedet laves her, eller skal der en makro til at klare opgaven. Jeg er helt på bar bund med makroer, så hvis det er her, det skal laves, håber jeg på "lidt højtlæsning for dummies" - Tak.
Public Function Alder(D As Date) As Integer Alder = Year(Date) - Year(D) If Month(D) = Month(Date) Then If Day(D) > Day(Date) Then Alder = Alder - 1 End If End If If Month(D) > Month(Date) Then Alder = Alder - 1 End If End Function
Opret et nyt modul og copy/paste koden ind.
Herefter kan du i forespørgsler og på formularer og rapporter bruge funktionen.
Hvis du f.eks. har et felt ved navn Fødselsdag, kan du i et andet felt skrive: =IIf(IsNull([Fødselsdag]);Null;Alder([Fødselsdag]))
(Husk at Access nogle gange bruger semikolon og andre gange komma til at adskille parametre. Hvis du er newbee, så bare prøv dig frem. "Learning by doing")
Ja ja; men så enkelt er det jo ikke! Det giver dig jo bare fødselsåret. Du er nødt til at måle dags dato op mod selve fødselsdagen. Ellers vi to personer, der er født hhv. 1. juli 1989 og 1. december 1989 begge være 20 år i dag, og det er jo ikke helt korrekt.
Til fndenmark: Dit udtryk ser ud til at virke som DatePart, som plukker de enkelte elementer ud af datoen - altså ingen beregning.
Til fdata: Jeg eksperimenterer stadig på kravlegårdsstadiet med at finde ud af, hvordan makroer fungerer. Jeg har endnu ikke fundet logikken - arbejder videre.
Helt ok; men vær lige obs på, at min løsning ikke er baseret på en makro; men på et modul.
Makroer er en række kommandoer, som Microsoft har lagt i en oversigt - klar til brug. De løser almindeligt forekommende opgaver.
Hvis du vil løse mere specielle opgaver (såsom beregning af alder eller gennemløbe en række poster og ændre dem ud fra forskellige kriterier) skal du i gang med egentlig programmering. Det sker i modul-afdelingen.
Som skrevet tidligere, kan du bare oprette et nyt modul og copy/paste min kode ind.
Spørgsmålet lukkes (hvis jeg kan huske hvordan). Jeg har ikke fået det til at virke- sikkert på grund af mig selv. Tak for deltagelsen.
Synes godt om
Ny brugerNybegynder
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.