Avatar billede aksma Praktikant
10. januar 2006 - 12:10 Der er 11 kommentarer og
1 løsning

Finde slutdato på år

Hej!

Jeg har en forespørgsel, hvor jeg skal bruge datoen 1, 2, 3, 4, og 5 år tilbage.
Jeg starter med en parameter "Pr. Dato", som jeg sætter til til den slutdato, jeg anvender, f.eks. 31-12-05.

Nu mangler jeg en enkel funktion, der kan give mig 31-12-04, 31-12-03, 31-12-02, 31-12-01 og 31-12-00. Jeg kan selvfølgelig godt finde ud af at regne tilbage ved at trække dage fra, men formlen skulle også gerne virke, hvis Pr Dato" er 31-01-06 eller 31-12-04.

I Excel er der en formel, der hedder Slut.På.Måned, som gør det nemt at rgne tilbage, men jeg kan ikke finde noget tilsvarende i Access.

Nogen, der har et godt forslag?

Aksma
Avatar billede yuksel Nybegynder
10. januar 2006 - 13:25 #1
find navnet på functionen på engelsk søge i google mht vba access
Avatar billede aksma Praktikant
10. januar 2006 - 13:34 #2
Så vidt jeg kan se, er konklusionerne, at end sådan funktion ikke findes, men hvordan laver man den?
Avatar billede mugs Novice
10. januar 2006 - 13:44 #3
Funktionen "Sidste dato i måneden" findes også i Access. Jeg kan ikke huske hvad den hedder, men jeg kan se efter når jeg er hjemme.
Avatar billede aksma Praktikant
10. januar 2006 - 13:52 #4
Tak mugs, jeg venter
Avatar billede sjap Praktikant
10. januar 2006 - 13:52 #5
Du kan evt. bruge:

=DateSerial(Year([Pr Dato])-1, Month([Pr Dato])+1, 1)-1

Funktionen Dateserial vil returnere den 1. for den næste måned. Når du så trækker en fra, får du automatisk den sidste dag i måneden.

Du kunne selvfølgelige også blot bruge denne her

=DateSerial(Year([Pr Dato])-1, Month([Pr Dato]), Day([Pr Dato]))

men den vil f.eks. ikke fange den 29. februar.
Avatar billede aksma Praktikant
10. januar 2006 - 14:24 #6
Mit problem ligger nok ikke så meget i at finde slut på måned, men at trække 1 år fra datoen og så få den samme slutdato i tidligere år, bortset fra året.
Avatar billede sjap Praktikant
10. januar 2006 - 14:30 #7
Det er jo netop det som den sidste formel gør :0)
Avatar billede sjap Praktikant
10. januar 2006 - 14:32 #8
Men hvis det blot er det du søger, er det lidt lettere at bruge DateAdd funktionen:

DateAdd("yyyy", -1, "31. jan 95")
Avatar billede aksma Praktikant
10. januar 2006 - 14:33 #9
Jeg har selv fundet frem til funktionen. Det var "DateAdd". Den løser problemet.

Tak for indsatsen til jer alle
Avatar billede sjap Praktikant
10. januar 2006 - 14:35 #10
??
Avatar billede aksma Praktikant
10. januar 2006 - 14:40 #11
Sjap, beklager jeg fik snuppet pointene, jeg måske have givet point for din indsats.

Aksma
Avatar billede aksma Praktikant
10. januar 2006 - 14:42 #12
Sjap - nu ser jeg først dit svar med den rigtige løsning. Den skal selvfølgelig honoreres. Jeg opretter et spørgsmål, som du blot kan acceptere.

Aksel
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