Gruppere datoer i Tilgang etter datokomponenter

Når du grupperer datoverdier på spørringsnivå, kan du stole på DatePart () -funksjonen. Denne funksjonen evaluerer en datoverdi og returnerer en spesifikk komponent, slik at du kan bruke den til å gruppere etter måned, år, ukedag og så videre. Det er et fleksibelt verktøy som støtter følgende alternativer:

Beskrivelse av resultatene Kode Eksempel basert på 1/10/2011
Firesifret år åååå 2011
Kvart verdi (1 til 4) q 1
Månedsverdi (1 til 12) m 1
Tosifret år y 11
Dagsverdi (1 til 31) d 10
Ukens dag (1 til 7) w 2
Årets uke (1 til 52) ww 2

Arbeid med datoverdier i tabellen Northwind Orders (Northwind er eksempeldatabasen som følger med Access), la oss illustrere bruken av DatePart () til å gruppere datoverdier etter år og måned. For å sortere bestillingsdato etter år, bruker du følgende spørringsuttrykk:

 SortByYear: DatePart ("yyyy", OrderDate) 

Åååå-koden returnerer bare årskomponenten fra hver dato i OrderDate-feltet. I dette tilfellet er det ikke mye å se fordi datoverdiene allerede er i orden i kraft av dataregistreringsordren. Å legge til en sorteringsrekkefølge vil sikre at årets verdigruppe (sortering) som forventet. I tillegg, selv om jeg bruker begrepet gruppe, er dette ikke en gruppeoppgave, ikke teknisk. En enkel sortering grupperer verdiene.

Du kan se litt mer action ved å sortere datoene etter månedverdier. For å gjøre det, bruk månedskoden med det samme settet med poster. Resultatene er veldig forskjellige - ordrer fra forskjellige år sorteres sammen for å danne grupper etter måned:

 SortByMonth: DatePart ("m", OrderDate) 

Det er ikke strengt nødvendig å beholde det året som kommer tilbake. Jeg forlot det slik at du lettere kunne se grupperingene etter måned, snarere enn år.

Når du bruker denne sorteringsteknikken på ditt eget arbeid, må du huske at Access gir forrang til kolonner fra venstre til høyre. Derfor flyttet jeg det tilbakevendende året til høyre for det månedsavkastende uttrykket. Denne posisjoneringsatferden er ikke alltid en faktor, men vanligvis er det det.

I dette eksemplet refererer datoargumentet til et datofelt, OrderDate. Du kan bruke en bokstavlig datoverdi, men husk å avgrense ved bruk av tegnet #, som følger:

 DatePart ( "m", # 1/10/2011 #) 

Du lurer kanskje på hvordan denne funksjonen skiller seg fra Format (). Den returnerte datatypen er den største forskjellen. Format () returnerer en streng, og Access sorterer resultatene som en streng. DatePart-funksjonen () returnerer en heltallverdi, som Access vil sortere numerisk. Denne forskjellen betyr noe!

Bruker den

Enkel gruppering etter datokomponent er bare ett bruk for å slippe en DatePart-funksjon i en spørring. Du kan utvide på denne teknikken ved å bruke resultatene som kriterier. Det kan for eksempel være lurt å returnere bare 1997 ordrer i februar måned. Det er mer enn en måte å gjøre dette på, som vanligvis er tilfellet i Access, men den eksisterende spørringen setter opp denne situasjonen pent. Bare legg til de riktige verdiene, 2 og 1997, til kriteriecellen i hver kolonne. Det er 29 poster for februar 1997.

Du trenger ikke å vise datakomponentkolonnene i spørringen. Ved å fjerne merket for Vis-boksen i en av eller begge kolonnene, kan du returnere filtrerte poster uten å vise kriteriene du brukte.

Et ord i tide

DatePart () -funksjonen returnerer også tidskomponenter. Bare bruk riktig kode for å gruppere verdier etter tid:

h Militær tid

n minutt

s andre

At n er riktig. Den mer sannsynlige koden, m, brukes til å betegne måned.

© Copyright 2021 | pepebotifarra.com