Avatar billede morpheus Nybegynder
05. oktober 2006 - 19:51 Der er 23 kommentarer og
2 løsninger

Autoopdatering af felter

Hej,

Jeg har en formular, hvori brugeren skal indtaste en dato. Det går også fint nok.

Problemet opstår når jeg vil undgå at brugeren skal fumle rundt med at skrive ugedag og ugenummer.

Disse to felter skulle gerne udfyldes så snart brugeren har udfyldt dato feltet.

Oveni det vil jeg gerne have at brugeren ikke ved en "fejl" kommer til at ændre i ugedag og ugenummer - altså disable felterne.

Håber nogen kan hjælpe
Avatar billede mugs Novice
05. oktober 2006 - 19:58 #1
Se på funktionen DatePart i en forespørgsel. Kan sende dig et eksempel hvis du lægger din e-mail.
Avatar billede mugs Novice
05. oktober 2006 - 20:04 #2
F.eks. ugenummer.

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

Ugedag:

ugedag: NavnPåUgedag(Weekday([Dato1];2))

I din formular kan du trække disse udtryk ind og sætte egenskaberne Låst og Aktiveret til Nej hvilket forhindrer brugeren i at ændre værdierne.
Avatar billede -anders- Juniormester
05. oktober 2006 - 20:05 #3
Hej
Jeg anvender nedenstående til at beregne en aktuel ugedag ud fra en indtastet dato i et datofelt på formularen. Det nemmeste er at basere formularen på en forspørgsel. I denne forspørgsel i designvisning i et tomt felt skriver du:

Ugedag: Format([DatoFelt];"dddd")

Dette returnere ugedagen i det beregnet felt i forspørgsel ud fra datoværdien i dit datofelt.

Nu det blot at medtage Ugedag: feltet på din formular så køre det helt automatisk. Da feltet er et beregnet felt er det som standard låst, så bruger vil aldrig kunne ændre i det.
Avatar billede -anders- Juniormester
05. oktober 2006 - 20:05 #4
hej mugs, så ikke lige dit indlæg :o)
Avatar billede morpheus Nybegynder
05. oktober 2006 - 20:18 #5
Jeg vil gerne lige være besværlig...

Kan jeg få en gennemgang punkt for punkt hvad jeg gør?
Avatar billede mugs Novice
05. oktober 2006 - 20:26 #6
Åbn din forespørgsel og indsæt disse i 3 nye tomme kolonner:

Udtryk1: DatePart("ww";[Dato1];1;0)
Udtryk2: (Weekday([Dato1];2))

Du skal ændre navnet Dato1 til navnet på dit datofelt.
Avatar billede -anders- Juniormester
05. oktober 2006 - 20:26 #7
Ja da, uanset om du anvender forlsaget fra mugs eller undertegende er fremgangsmåden den samme:

1. Opret en forspørgsel, medtag alle relevante felter incl. datofeltet som skal vises på din form.

2. Gem din forspørgsel

3. Åben forspørgsel i designvisning, du kan nu se alle de felter du gar medtaget fra en eller flere tabeller.

4. I et tomt felt i din forspørgsel (i designvisning) skriver du nedenstående:

5. Ugedag: Format([NavnPåDitDatoFelt];"dddd")

Det viser så den aktuelle ugedag ud fra den datoer der er indtastet i tabellen.

6. Åbnen din formular i desigvisning angiv postkilden til den forspørgsel du lige har oprettet dette gøres under fanebladet data.

7. Indsæt som det sidste dine felter fra forspørgslen på formularen
Avatar billede mugs Novice
05. oktober 2006 - 20:28 #8
3 nye tomme kolonner - Pladder, selvfølglig kun 2 kolonner, og der må ikke være udtryk der i forvejen hedder udtryk1 eller udtryk2. Har du det, ændrer du blot Udtryk1 til noget andet.

I din formular kan du ved atr højreklikke på udtrykkene > Egenskaber > Data > sætte egenskaberne.
Avatar billede morpheus Nybegynder
05. oktober 2006 - 20:49 #9
Jeg vil gerne have ugedag udtrykt som navn (Mandag, Tirsdag etc.) istedet for et tal
Avatar billede mugs Novice
05. oktober 2006 - 20:52 #10
Denne giver mandag, tirsdag o.s.v..

Udtryk2: NavnPåUgedag(Weekday([Dato1];2))
Avatar billede morpheus Nybegynder
05. oktober 2006 - 20:56 #11
I feltet ugenummer, har jeg under data->standardværdi skrevet:
=[ugenummer]![Udtryk1]

Ligeledes med ugedag:
=[ugedag]![Udtryk1]

Men der fremkommer ingen værdier når jeg indtaster datoen.
Avatar billede mugs Novice
05. oktober 2006 - 20:59 #12
standardværdi > Det er jo i tabellen. Som tidligere skrevet skal det være i en forespørgsel!
Avatar billede morpheus Nybegynder
05. oktober 2006 - 21:04 #13
Jeg har lavet to forespørgsler. En kaldet ugedag og en kaldet ugenummer...

Kig evt. selv på http://qubix.dk/test/arbejdsrapport.mdb
Avatar billede -anders- Juniormester
05. oktober 2006 - 21:09 #14
Har lige kikket, du skal medtage datofeltet fra tabellen i din forspørgsel før du kan beregne ugedag/ugenummer
Avatar billede -anders- Juniormester
05. oktober 2006 - 21:16 #15
Man bør heller ikke navngive et felt i tabellen Date, da dette er et reserveret i Access, det ville være bedst hvis du omdøbte dete felt
Avatar billede mugs Novice
05. oktober 2006 - 21:17 #16
Har også kigget. Det er en uskik at gemme data i tabellerne, hvis de kan genberegnes i forespørgsler. Det optager kun unødig plads.

desuden skal du passe på med at have specialtegn og mellemrum i dione feltnavne. Det kan kun give problemer senere hen.
Avatar billede -anders- Juniormester
05. oktober 2006 - 21:25 #17
Hvis du poster en mailadresse kan jeg sende dig en lille testdb som viser princippet
Avatar billede morpheus Nybegynder
05. oktober 2006 - 21:34 #18
dni@qubix.dk
Avatar billede -anders- Juniormester
05. oktober 2006 - 21:38 #19
Demobase sendt
Avatar billede morpheus Nybegynder
05. oktober 2006 - 22:23 #20
Nu har jeg prøvet at makke lidt med Anders´ database, og se om jeg kunne føre det over til min egen... Det lykkedes bare ikke *skide* godt. Er ved at være lidt træt af det...

http://qubix.dk/test/arbejdsrapport1.mdb
Avatar billede -anders- Juniormester
05. oktober 2006 - 22:38 #21
Har sendt en version af din egen database hvor de beregnet udtryk er i en forspørgsel, denne forspørgsel anvendes så som postkilde til din form i stedet for tabellen.
Avatar billede morpheus Nybegynder
06. oktober 2006 - 09:11 #22
Anders... Smider du et svar?
Avatar billede -anders- Juniormester
06. oktober 2006 - 09:43 #23
Svar:o), forsat god arbejdslyst med projektet
Avatar billede -anders- Juniormester
06. oktober 2006 - 09:43 #24
Sorry, Svar:o), forsat god arbejdslyst med projektet
Avatar billede -anders- Juniormester
06. oktober 2006 - 14:25 #25
Tak for point :o)
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