Avatar billede kungfu Nybegynder
24. januar 2009 - 11:22 Der er 10 kommentarer og
1 løsning

Datofelt virker ikke

Hej med jer.

Jeg har søgt rundt i forum og fundet ud af hvordan jeg laver automatisk indsættelse af dags dato i et formularfelt =Date(). Men hvordan havner det i tabellen bagved? Hvad skal kolonnen i tabellen hedde? Jeg kan ikke få det til at virke.

På forhånd tak.
Avatar billede mugs Novice
24. januar 2009 - 12:22 #1
Noget tyder på, at dit felt er ubundet d.v.s. at det ikke har forbindelse bagud til tabellen.

Lad os sige, at du har en formular, baseret på en tabel med 2 felter. Her felt1 og felt2. Nu vil du gerne have felt2 udfyldt med dags dato når du skriver noget i felt1. I felt1 har du nogle hændelsesprodecurer. Find den der hedder BeforeUpdate. Der skriver du i VBA:

Me.felt2 = Date()

Så vil d.d. automatisk blive skrevet i felt2 og lagret i tabellen.
Avatar billede kungfu Nybegynder
24. januar 2009 - 15:44 #2
Jo, jeg forstår godt hvad du skriver, men det skulle egentlig bare være sådan at når jeg skifter til ny post, så står dags dato der - uden at man skal skrive noget i felt1 først. Men hvordan kædes den sammen med kolonnen i tabellen?
Avatar billede mugs Novice
24. januar 2009 - 15:50 #3
Du skal trække feltet der skal modtage datoen ind i din formular. Lad os kalde feltet for "felt2"

I formularens hændelse "VedAktuel" (Current) indsætter du flg. kode:

If me.newrecord = true then
Me.felt1 = Date()
end if

Så vil feltet og dermed også tabellen blive opdateret med dags dato.

Hvad forstår du iøvrigt med udtrykket "ny post"? Er det en ny post du opretter, eller skifter du blot til en anden post. I så fald kan du nøjes med denne:

Me.felt1 = Date()
Avatar billede kungfu Nybegynder
25. januar 2009 - 11:17 #4
Hej mugs. Med ny post mener jeg bare den næste ledige post i tabellen, fra formularen. Hændelsen "VedAktuel" kan jeg ikke finde. Der er alle mulige andre :-).
Avatar billede mugs Novice
25. januar 2009 - 11:46 #5
Hændelsen "VedAktuel" (current) SKAL findes. Du skal se på selve formularens egenskabsark. Ikke detaljesektionen eller andre med kun formularen. Hvis du har Access stabdardfarver, er formularen mørkegrå i forhold til de andre objekter.

Næste ledige post opfater jeg som en hel ny post. Så skal du bruge denne:

If me.newrecord = true then
Me.felt1 = Date()
end if

idet du udskifter felt1 med navnet på dit aktuelle felt. Hændelsen VedAktuel indtræder hver gang du skifter post, men da du kun vil skifte datoen, når du opretter en ny post, er du nødt til at indsætte en betingelse med if-delen af min kode.
Avatar billede kungfu Nybegynder
25. januar 2009 - 17:58 #6
OK. Jeg får det ikke til at virke. Kan du ikke være rar at oprette en lille db med disse eksempler, så jeg kan se det i praksis? Jeg kan give dig min mail-adresse.

Så vil jeg runde op til 200 point :-)
Avatar billede mugs Novice
25. januar 2009 - 18:16 #7
Din e-mail
Avatar billede kungfu Nybegynder
26. januar 2009 - 12:45 #8
kskpost@hotmail.com
Avatar billede mugs Novice
26. januar 2009 - 13:43 #9
Sendt.
Avatar billede kungfu Nybegynder
26. januar 2009 - 18:28 #10
Den er fin. Med inspiration fra dit tilsendte, virker det hos mig nu. Tak for hjælpen. Hvordan hæver jeg point til dig?
Avatar billede mugs Novice
26. januar 2009 - 18:38 #11
Selv tak og tak for point. Læs nedenstående link vedr. point: 

http://expfaq.dk/flere_point_end_lovet#flere_point_end_lovet
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