Avatar billede avest Nybegynder
14. januar 2003 - 08:42 Der er 4 kommentarer

view med beregnet antal dage

Jeg vil gerne have et view som på baggrund af et cpr-nummer kan kategorisere efter aldersgrupper.

På formularen findes tekstfeltet cprnummer : "031262-1234"

Kolonnen som skal kategorisers:
  0-2 årige
  3-6 årige
  7-9 årige

Nogen som har en god idé til hvordan dette laves?

Er der noget med at man skal sætte indeks opdatering på oversigten til "Auto, højst én gang på 24 timer" når man benytter @Now i en kolonne?
Avatar billede cdelicht Nybegynder
14. januar 2003 - 09:00 #1
Sæt 1 felt på formen, der beregner fødselsåret, ex:
Aar:=@Right(@Left(CPRTekstFelt; "-"); 2);
@If(Aar>"03"; @SetField("BirthYear"; "19"+Aar); @SetField("BirthYear"; "20"+Aar))

I kolonnen skriver du:
_Kat:=@Year(@Today)-@TextToNumber(BirthYear);
@If(_Kat<3;"[0-2 årige]";_Kat<7;"[3-7 årige]";_Kat<10;"[7-9 årige]";"[Ældre end 9]")

Bemærk, beregninger i kolonner baseret på datoer har 2 ulemper:
1: viewet viser altid den lille blå opdateringspil øverst til venstre
2: det er ikke specielt hurtigt

For at forberede performance kan du flytte kolonne beregningen til et felt på formen, og så lade en schedulleret agent re-beregne dette felt hver nat. Dernæst kan du lade viewet nøjes med at visse værdien af dette felt for hver dokument.

Mht. @Now afhænger dine settings af, hvor ofte du reelt ønsker viewet opdateret. Men se min kommentar herover.
Avatar billede avest Nybegynder
14. januar 2003 - 09:50 #2
Eks: 040374 og d.d. 14.01.03
Aar = 74
BirthYear = 1974

_kat = 2003 - 1974 = 29

Den holder ikke jeg er så vidt jeg husker kun 28.
Avatar billede cdelicht Nybegynder
14. januar 2003 - 10:08 #3
nå ja, og hvad så ?!?! ;-)
Du skal da bare udvide mit forslag til også at tage højde for dd.
Du får dage med @Left(CPRTekstFelt; 2) og @Day(@Today) og måneder med
@Right(@Left(CPRTekst; 4); 2) og @Month
Avatar billede jjj Nybegynder
24. januar 2003 - 16:07 #4
Prøv med følgende kode.

_birthdate :=@Date(@Left(CPRTekstFelt; "-"));
@Date(@Integer(@Today-_birthdate)/60/60/24/365,25)

og så som cddelight har opdelt i kategori. Det kan godt være at du skal lave nogle @isdate eller @istext osv. på felterne
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
Computerworld tilbyder specialiserede kurser i database-management

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