Avatar billede tipsen Nybegynder
19. april 2008 - 00:15 Der er 3 kommentarer

Felter i Access-db med værdi baseret på andre felter?

Hej eksperter
Hvis jeg har en tabel med bl.a. et felt med en dato, er det så muligt at have 3 andre felter som bliver sat til dag, måned og år for den dato som hører til posten? Jeg ved at der er funktioner som day(), month() og year(), men ved ikke om man kan basere værdierne i en post på værdier fra posten selv - der er noget som ringer en klokke og siger at det vist grundlæggende er forkert... ?
Årsagen til at det er nødvendigt, er at datoerne (selvom de ligger i et korrekt datoformat) bliver fejlfortolket ved fletninger til Word - dette sker i en v. 2007 og jeg kan også huske, at jeg selv har oplevet problemet i både v. 2003 og v. 2000 - så derfor er jeg nu ude efter høkerløsningen, da det ikke har været muligt at finde den pæne løsning.
/Tommy
Avatar billede mugs Novice
19. april 2008 - 07:11 #1
Kender ikke noget 2007. Men i andre versioner ville jeg lave nogle udtryk i en forespørgsel og benytte DaterPart funktionen. Måned uddrages således:

Udtryk1: DatePart("m";[Dato1];1;0)

Året:
Udtryk2: DatePart("yyyy";[Dato1];1;0)

Dayo:
Udtryk3: DatePart("d";[Dato1];1;0)

Ugen:
Udtryk4: DatePart("ww";[Dato1];1;0)

Ugedag:
Udtryk5: NavnPåUgedag(Weekday([Dato1];2))
Avatar billede tipsen Nybegynder
19. april 2008 - 09:10 #2
Men kan du sætte disse udtryk ind i en default-værdi for felterne - sådan at hvis feltet med den rigtige dato opdateres, så ændres de "afledte" felter også - eller er det nødvendigt at køre en separat opdateringsforespørgsel?
Avatar billede mugs Novice
19. april 2008 - 09:25 #3
Udtrykkene bliver automatisk opdaterede når du placerer dem i en forespørgsel. Du bør ikke gemme udtrykkene i tabellen, idet data der genberegnes principielt ikke bør lagres. Det tager blot unødvendig plads op.

Men der er ingen problemer med at gemme datoen, hvis du agsolut vil. Syntaksen er lidt anderledes i VBA i forhold til SQL:

Me.FELTNAVN DER INDEHOLDER DATOEN = DatePart("d", DIT DATOFELT)

Indsættes i DIT DATO FELT i Before Update.
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