Avatar billede nillebis Nybegynder
17. september 2003 - 18:23 Der er 30 kommentarer og
2 løsninger

Automatisk tid og dato

Er det muligt, at få et automatisk tid og dato felt ind, således man kan se hver gang der er en der har været på det pågældende emne i formularen??


Et andet spørgsmål er, hvor ofte opdatere access, når der er to eller flere på samme database i samme tabel?
Avatar billede henrik13 Nybegynder
17. september 2003 - 18:29 #1
Ja. hvis der oprettes en ny post hvergang. Sættes standard ttil Now() i tabellen.  :o)
Avatar billede terry Ekspert
17. september 2003 - 18:30 #2
You need to do this in a form in the BEFORE UPDATE event

YourDateField = Now()
Avatar billede henrik13 Nybegynder
17. september 2003 - 18:38 #3
Svar på sp. 2
Opdatere formularen, kan på begge maskiner gøres ved postskifte, i hændelsen. Ved aktueltm skriver du:
me.FormNavn.requery
Vh Henrik13
Avatar billede henrik13 Nybegynder
17. september 2003 - 18:41 #4
Men det er jo kun den maskine du opdatere på der opdateres, den anden opdateres først ved dens postskifte.  :o)
Avatar billede terry Ekspert
17. september 2003 - 18:42 #5
Access DOES NOT update unless one of the users alters data.
Avatar billede mugs Novice
17. september 2003 - 18:50 #6
henrik's svar er korrekt, men besvarer ikke det første spørgsmål. her skla der oprettes en ny post, før datofeltet får værdien Now.

Jeg må også sige, at jeg er uenig med terry, idet dette forslag tildeler et datofelt værdien Now, såfremt der er foretaget ændringer i formularens poster. Og det er ikke det, der spørges om, men NÅR en bruger er inde på formularen. Derfor skal koden se således ud:


Private Sub Form_Load()
Me.nu = Now
End Sub

Og den giver jo kun tidspunktet for, hvornår der SIDST har været en bruger inde på formularen. Skal der være historik i det, skal du oprette en ny tabel med et felt, svarende til postens unikke værdi og et datofelt. Derefter i formularen i form_Load skrive en kode, der opretter en ny post i din historik-tabel.
17. september 2003 - 18:57 #7
Mugs har fat i den rigtige ende her, men selv han læser ikke spørgsmålet helt ;o)

Nillebis beder om, at få registreret dato/klokkeslet hver gang en bruger er inde på et 'emne' på formularen. Jeg forstår 'Emne' som en Record/post. Derfor duer det ikke at lægge koden på Form_Load, men i stedet på Form_Current (VedAktuelt).

Man kunne gøre det således:

Private Sub Form_Current()
  Me!SidstLæst = Now
  Me!SidstLæstAf = Environ("Username")
  Docmd.runcommand accmdsaverecord
end sub

SidstLæstAf er et tekstfelt, som derved kommer til at indeholde Windows brugerlogin på den bruger, som har været inde på posten sidst.

Docmd.runcommand accmdsaverecord sættes ind for at brugeren ikke oplever at posten er i redigeringstilstand (og derved kan trykke ESC)

/Thomas
Avatar billede terry Ekspert
17. september 2003 - 18:58 #8
mugs>You are right if it is necessary to rigister the last time a person "LOOKED" at a record, but I am guessing that it is when the last person ALTERED the record.
Avatar billede terry Ekspert
17. september 2003 - 19:00 #9
this would give problems in a continuous form though, it would mean ALL records would need upadting, or at least those visible :o)
17. september 2003 - 19:00 #10
Terry-> Hvad mener du med det sidste?
17. september 2003 - 19:01 #11
Terry-> Mugs kode resulterer da kun i, at den første record ændres....!
Avatar billede terry Ekspert
17. september 2003 - 19:03 #12
On a continuous form there can be more than one record, so IF it is necessary to register when a record was last "looked at" then it would mean that they ALL needed to be updated with Now and current user, but what is the point in that?
Avatar billede terry Ekspert
17. september 2003 - 19:05 #13
the Current event occurs when a record is selected but I can still "SEE" a record without it being selected
17. september 2003 - 19:05 #14
ah, I see what you mean ;o)
Avatar billede mugs Novice
17. september 2003 - 19:08 #15
Thomas -> Ja, det er korrekt m.h.t. emne. Sådan læste jeg det også først. Men jeg reviderede min opfattelse, idet jeg derefter tænkte på "emne" som eet bestemt sagsemne ud ad mange f.eks et kundeid. Og det tror jeg ikke nillebis mener. For så bliver koden jo alenlang.

Hvis en bruger ved en fejl får trykket for længe på navigationsknapperne, kommer der jo en lang række opster i historiktabellen, som er uinteressante, idet de jo er oprettet ved en fejl. Derfor lasgde jeg koden i Load, idet den giver tiden hver gang en bruger har foretaget en bevidst handling som at åbne en formular.
Avatar billede terry Ekspert
17. september 2003 - 19:08 #16
so I would still only register this information IF the record gets changed. Butthen I have no idea of the security level we are talking about :o)
Avatar billede terry Ekspert
17. september 2003 - 19:10 #17
can ANYONE tell me WHY it would be necessary to register when a record was looked at?
Avatar billede mugs Novice
17. september 2003 - 19:12 #18
terry -> Wake Up NOW. Kvindelig nysgerrighed!!!

Undskyld nillebis - Kunne bare ikke lade være.
Avatar billede terry Ekspert
17. september 2003 - 19:16 #19
Oh, nu er jeg with :o)
Avatar billede nillebis Nybegynder
17. september 2003 - 19:54 #20
Det jeg mener med emne = post;-) Så har vi det på det rene - nu har i jo nærmest give mig så mange svar, at jeg ikke kan følge med her - Men jeg kigger lige på det. Det skal vises for hver gang man har været på denne post...
Avatar billede mugs Novice
17. september 2003 - 19:58 #21
Så er det Thomas' forslag til Current du skal bruge.
Avatar billede nillebis Nybegynder
17. september 2003 - 20:10 #22
Hmm jamen det virker ikke - Der kommer ikke automatisk til, at stå dat og kl. når jeg har været inde på posten - Kan det evt. uddybes??
Avatar billede mugs Novice
17. september 2003 - 20:21 #23
Hmm - Det fungerer fint, har lige afprøvet Thomas's kode. Kontroller, at du virkelig har sat koden ind i formularens Current event. Ken sende dig et eksempel.
17. september 2003 - 20:28 #24
Har du navngivet felterne korrekt? Og selvfølgelig rettet navnene i mit eksempel!
Avatar billede nillebis Nybegynder
17. september 2003 - 20:43 #25
Ja det har jeg - JEg har lavet et felt som hedder opdateringstid - Hvor den automatisk skulle smide det ind...
Avatar billede mugs Novice
17. september 2003 - 20:44 #26
Det SKAL virke. Kan du sende dit db til:

mugs@mail.dk
Avatar billede mugs Novice
17. september 2003 - 20:47 #27
Når du skriver "virker ikke" - Hvad sker der så:

- Intet
- Får du en fejlmelding, og i givet fald hvilken?
Avatar billede nillebis Nybegynder
17. september 2003 - 20:49 #28
Private Sub Form_Current()
  Me!opdateringstid = Now
  Me!opdateringstid = Environ("Username")
  DoCmd.RunCommand acCmdSaveRecord
End Sub
Avatar billede nillebis Nybegynder
17. september 2003 - 20:49 #29
Der sker bare ingenting -
Avatar billede mugs Novice
17. september 2003 - 20:52 #30
Me!opdateringstid = Now
Me!opdateringstid = Environ("Username")
DoCmd.RunCommand acCmdSaveRecord

Du prøver at tildele det samme felt 2 værdier, og da opdateringstid er dato og Username er tekst, tror jeg det er her det går galt.

Prøv:

Me!opdateringstid = Now
DoCmd.RunCommand acCmdSaveRecord
17. september 2003 - 21:03 #31
Me!opdateringstid = Environ("Username") skal fjernes eller du skal lave et nyt felt i tabellen som f.eks. hedder "OpdateretAf", hvorefter koden skal se således ud:
Private Sub Form_Current()
  Me!opdateringstid = Now
  Me!opdateretAf = Environ("Username")
  DoCmd.RunCommand acCmdSaveRecord
End Sub
Avatar billede nillebis Nybegynder
17. september 2003 - 21:04 #32
Virker nu mugs - Jeg deler pointene ml. dig og thomas ;-) Tak for hjælpem bare kanon
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