19. maj 2010 - 08:54
Der er
5 kommentarer og
1 løsning
Dato for ultimo sidste år (aller sidste dag i året før)
Hej!
Jeg har en forespørgsel, der skal vise poster med en datoværdi større end ultimo sidste år, altså den aller sidste dag i året før (f.eks. 31-12-2009). Jeg vil løse det ved at indlægge et kriterium på mit datofelt ('Date').
I forvejen bruger jeg i andre forespørgsler et kriterium til at finde værdien for ultimo sidste måned:
DateAdd("d";-Day(DateAdd("m";0;Date()));DateAdd("m";0;Date()))
Jeg har forestillet mig noget lignende for at finde datoen for ultimo sidste år. Er der nogen som kan hjælpe?
Jeg vil ikke have en VBA-løsning.
Venlige hilsener
GPESP
gpesp, mit system vil have kommaer hvor du har semikolummer, altsaa DateAdd("d",-Day(DateAdd("m",0,Date())),DateAdd("m",0,Date())). Det har jeg lavet om for at teste. Det er muligt at du maa lave det foelgende loesningsforslag om igen til semikolummer.
Jeg erkenner at dit udtryk (rettet til med kommaer) giver 30 april 2010, altsaa ultimo sidste maaned. Men du goer det meget for besvaerligt. DateAdd("m", 0, Date()) vil sige at du laegger 0 maaneder til dags dato hvilket igen giver dags dato. Saa du kan faa ultimo sidste maaned med dette forenklede udtryk:
DateAdd("d", -Day(Date), Date)
Det som udtrykket goer (det ved du sikkert allerede) er at det finder hvilken dag i maaneden det er (19) og traekker det fra dags dato hvilket giver 0 maj 2010 = 30 april 2010.
Hvis vi nu i stedet kunne traekke 19 fra 19 januar 2010 ville vi faa ultimo forige aar. 19 januar 2010 faar vi ved at traekke maaneden (5) fra dags dato og laegge 1 til, altsaa DateAdd("m", -Month(Date) + 1, Date)
Saa ved at laegge det foelgende kriterium paa dit datofelt skulle du faa ultimo forige aar:
DateAdd("d", -Day(Date), DateAdd("m", -Month(Date) + 1, Date))
Hej Christian,
Tak for dit svar! Jeg lavede en enkelt modifikation, men så kører det også perfekt:
DateAdd("d"; -Day(Date()); DateAdd("m"; -Month(Date()) + 1; Date()))
Jeg har en dansk version af Access, så derfor bruger jeg komma i stedet for semikolon.
Også tak for at du gjorde mig opmærksom på, at jeg kan få ultimo måneden frem på en simplere måde. Du får pointene!
!Venlige hilsener
GPESP