Avatar billede pladehoved Nybegynder
23. juni 2009 - 10:49 Der er 2 kommentarer

Kan access 2003 lave en kalender?

Hej eksperter

I min database opererer jeg med otte datosæt pr. sag. Hvert sæt består af følgende fire variable:
startdato_1
slutdato_1
Sted_1
Pris_1

Det er forskelligt fra sag til sag, hvilket datosæt som er aktivt og hvor langt der er fra startdatoen til slutdatoen. Nogle sager klarer sig med en periode hele året, mens andre dækker over flere perioder. Fælles for dem er, at sagerne starter den 1. januar og slutter 31. december.

Nu er jeg blevet bedt om at lave en årskalender, hvor prisen pr. sag pr. måned er anført. Det kan jo relativt let løses ved en forespørgsel og "lidt" manuelt arbejde, men jeg vil gerne slippe for den del, så spørgsmålet er om det er muligt at lave en rapport, som selv finder ud af, hvilken pris (og sted) der gælder for den enkelte måned pr. sag.

Dvs. den skal kunne regne ud, at prisen for sag yy er 100 i januar, februar, marts, april og 120 i maj og juni. Optimalt skal prisen for den aktuelle måned indsættes som prisen for resten af året. Et prisskifte markeres i databasen ved, at datosættet "lukkes" ved at indsætte en slutdato (her slutdato_1 = 30-04-2009) og det næste datosæt aktiveres (her startdato_2 = 01-05-2009).

På forhånd 100 point tak for hjælpen.
Avatar billede mugs Novice
23. juni 2009 - 11:10 #1
For at transformere en dato til en måned i en forespørgsel, kan du anvende funktionen DatePart som f.eks således:

Udtryk4: DatePart("m";[DIT DATOFELT];1;0)

Du kna herefter anvende en rapport der grupperer på måneden og upsummerer en pris. Brug f.eks. Guiden Rapport, der ligger i databasevinduet under forespørgsler > Ny
Avatar billede pladehoved Nybegynder
23. juni 2009 - 13:09 #2
Hmm - umiddelbart synes forslaget ikke at løse mit problem, som jeg muligvis ikke har forklaret godt nok. Eller også er det meget simplere end jeg troede ;o))

For det første har hver sag jo ikke én datovariabel, men 16, der hører sammen to og to. For det andet er prisen pr. måned ikke direkte angivet i databasen - den kan kun aflæses ved hjælp af start- og slutdatoerne.

Eksempel:

Tabelstruktur:
Sag    start_1  slut_1  pris_1  start_2  slut_2  pris_2
yy    01-01-09  30-04-09  100    01-05-09            120


Rapporten
Sag  Jan  Feb  Mar  Apr  Maj  Jun  Jul  Aug ...
yy    100  100  100  100  120  120  120  120


Mit håb er, at jeg kan få Access til selv at finde ud af, at når en period går fra 1. jan til 30. apr, er prisen 100 i de fire måneder. Herefter er prisen 120 resten af året eller _2 slutter og en evt. 3. periode starter.

I øvrigt er det ikke helt rigtig, at sagerne starter 1. januar og slutter 31. december - de fleste gør, men i princippet kan de starte og slutte vilkårligt inden for et kalenderår.
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