Avatar billede ktoft Nybegynder
12. juni 2002 - 12:20 Der er 16 kommentarer og
1 løsning

date()

Jeg har en standardværdi date() - den pladser datoen for oprettelse af posten automatisk. Jeg skal derimod bruge, at den indsætter dagsdato - Altså en post kan være oprettet d. 12.12.2001. I datofeltet på posten skrives datoen 12-12-2001. Jeg går så ind på posten dagen efter - så skal der i datofeltet for posten stå 13-12-2001. To dage senere skal der stå 15-12-2001.

Hvordan gøres dette?
Avatar billede terry Ekspert
12. juni 2002 - 12:45 #1
Docmd.Runsql "UPDATE YourTable SET TheDateField = date()"
Avatar billede itbjarne Nybegynder
12. juni 2002 - 12:47 #2
Du skal opdatere posten idet du åbner den:
På den knap du trykker på kan du lave en on-click event:
docmd.runsql "UPDATE tabelnavn SET FeltNavnMedDatoI = #" + format(Date(),"mm-dd-yy") + "# WHERE BetingelseForDenAktuellePost"
Betingelsen for den aktuelle post kender jeg ikke da du ikke har angivet dette, men det kunne f.eks. være "ID = 1" eller noget i den retning.
Avatar billede terry Ekspert
12. juni 2002 - 12:58 #3
I was sure I placed another answer here!

In the BEFORE UPDATE field for the form you can update the date field
with this code. This gets done IF you alter the record, I can see no reason to alter the date just because to LOOK at it and if it is a detail from there can be many you SEE at one time :o)

Me.TheDateField = Date()

Alter TheDateField to the correct name.
Avatar billede ktoft Nybegynder
12. juni 2002 - 13:00 #4
Den skal opdatere datoen uden, at jeg behøver gå ind og se på posten. Den skal automatisk sørge for, at det altid er dagsdato der står i feltet i tabellen.

Helst en værdi jeg kan sætte i feltet standardværdi i tabel.
Avatar billede itbjarne Nybegynder
12. juni 2002 - 13:03 #5
Hvis du kun bruger feltet standardværdig i tabellen, får feltet datoen fra den dag du opretter posten - ikke datoen hvor du går ind og kigger på den.
Avatar billede terry Ekspert
12. juni 2002 - 13:11 #6
The following should do this, you can maybe palce the code in the ON LOAD event for a form
Docmd.Runsql "UPDATE YourTable SET TheDateField = date()"
Avatar billede itbjarne Nybegynder
12. juni 2002 - 13:26 #7
That's what I said, Terry : ...den knap du trykker på kan du lave en on-click event...
Avatar billede terry Ekspert
12. juni 2002 - 13:32 #8
itbjarne>not sure what you mean with your last comment! NOTICE the answer (code) is what I gave in my first answer!
Avatar billede itbjarne Nybegynder
12. juni 2002 - 13:44 #9
Accepted! looking at the timing, I can see that I was keying in my answer at the time you had already posted yours.
Avatar billede ktoft Nybegynder
12. juni 2002 - 13:47 #10
itbjarne -  datoen skal heller ikke ændre sig nå jeg går ind og kigger på den. Datoen skal ændre sig imellem kl. 23.59.59 - dag 1 - og kl 00.00.01 - dag 2.

Altså i realiteten når je blot åbner databasen.
Avatar billede itbjarne Nybegynder
12. juni 2002 - 13:51 #11
Så laver du en AutoExec makro som altid vil udføres blot du starter databasen.
Avatar billede itbjarne Nybegynder
12. juni 2002 - 13:53 #12
Du vælger blot at køre en sql i denne makro som hedder runsql - for neden i vinduet skal du indsætte sql-en som Terry og jeg sloges om ;-)
Avatar billede itbjarne Nybegynder
12. juni 2002 - 13:54 #13
Altså makro skal have navnet: autoexec (hvis dette ikke var klart :-)
Avatar billede ktoft Nybegynder
12. juni 2002 - 14:12 #14
Bare for at være vanskelig!

Kan man ikke undgå, at der kommer en boks op!

Altså den opdaterer uden at meddele det.
Avatar billede terry Ekspert
12. juni 2002 - 14:14 #15
docmd.setwarnings false
...the code
docmd.setwarnings True
Avatar billede itbjarne Nybegynder
12. juni 2002 - 14:21 #16
Yep.
Avatar billede itbjarne Nybegynder
12. juni 2002 - 14:25 #17
Hvis du laver det som kode, kan du lave en funktion som du så kalder fra makroen (så skal du ikke vælge runsql men runcode nederst i vinduet).
Noget i retning af (har ikke testet det):
Public Function OpdaterDet()
Docmd.SetWarnings FALSE
Docmd.RunSql "UPDATE tabelnavn SET FeltNavnMedDatoI = #" + format(Date(),"mm-dd-yy") + "# WHERE BetingelseForDenAktuellePost"
Docmd.SetWarnings TRUE
End Function
Makroen skal så udføre funktionen "OpdaterDet"
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