Avatar billede mohnsen Praktikant
15. marts 2010 - 19:30 Der er 4 kommentarer og
1 løsning

sidste 4 hele kvartaler + indeværende

Hej Eksperter

Efter lidt søgning herinde fandt jeg ud af hvordan man konverterede en dato til kvartal+år. "Format([DATE_];"q yyyy")"

Nu kunne jeg godt tænke mig at filtrere mine data så jeg kun ser de seneste 4 hele kvartaler + indeværende kvartal. Det er altså ikke nok blot at trække 12 måneder fra dags dato, da det første kvartal ikke bliver et helt kvartal.

Håber der er nogen der kan hjælpe
Avatar billede fdata Forsker
16. marts 2010 - 00:05 #1
Er det ikke det samme som at se alle poster, der er nyere end DagsDato minus 15 måneder?

Altså noget i stil med at du i din forespørgsel ændrer formatet til
  Format([DATE_];"yyyy q").
og så angiver kriteriet
  >=Format(DateAdd("m", -15, Date),"yyyy q")

Bare en tanke  :o)
Avatar billede hugopedersen Nybegynder
16. marts 2010 - 07:31 #2
Jeg har med held brugt en funktion der finder første dag i et kvartal
Hvis du kalder den med fhpDate_Quarter_First(Now() - 365) så skulle du gerne få 1-1-2009

Public Function fhpDate_Quarter_First(datValue As Date) As Date
' -----------------------------------------------------------------------------------
' Purpose    : Returnerer den første dag i kvartal
' Parameters :
' Returns    : Date
' Created    : 16-03-2010
' Modified  :
' Remarks    :
' -----------------------------------------------------------------------------------
On Error GoTo Error_fhpDate_Quarter_First
  Dim datResult As Date
  Dim intMonth As Integer
  Dim intYear As Integer
 
  If IsNull(datValue) Then
    datValue = Now
  End If
   
  intMonth = Month(datValue)
  intYear = Year(datValue)
   
  Select Case intMonth
    Case 1, 2, 3
      intMonth = 1
    Case 4, 5, 6
      intMonth = 4
    Case 7, 8, 9
      intMonth = 7
    Case 10, 11, 12
      intMonth = 10
  End Select
 
  datResult = "1-" & intMonth & "-" & intYear

Exit_fhpDate_Quarter_First:
  fhpDate_Quarter_First = datResult
  Exit Function

Error_fhpDate_Quarter_First:
  datResult = Date
  Select Case Err.Number
    Case 3021
    Case 2501
    Case Is < 0
    Case Else
      MsgBox Err.Number & ": " & Err.Description, vbOKOnly + vbCritical, "Error in procedure 'fhpDate_Quarter_First'"
      fhpError_Display "mod_Date_Time", "fhpDate_Quarter_First"
  End Select
  Resume Exit_fhpDate_Quarter_First

End Function
Avatar billede hugopedersen Nybegynder
16. marts 2010 - 07:32 #3
Linien fhpError_Display "mod_Date_Time", "fhpDate_Quarter_First"
skal du nok fjerne da det er et kald til min private fejlhåndtering.
Avatar billede mohnsen Praktikant
16. marts 2010 - 15:59 #4
Jeg gjorde næsten det du skrev fdata.

Jeg fratrak dog i stedet et antal af kvartaler i stedet for.

-> hugo: det var sikkert en udemærket løsning, men jeg foretrækker nu den simple når det er muligt.
Avatar billede fdata Forsker
17. marts 2010 - 17:34 #5
Simple løsninger = Gode løsninger  ;o)
Takker for point
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