23. juni 2010 - 11:38Der er
10 kommentarer og 1 løsning
Logge dato i formular
Jeg har en formular med et tekstfelt, hvori man kan skrive dagens valutakurs. Så kunne jeg godt tænke mig et andet felt på formularen, som logger datoen for indtastningen, så man ikke skal huske at skrive den. Jeg har en fornemmelse af, at det er ret simpelt, men hvordan gør man lige ?
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Jeg ved godt, at jeg kan sætte værdien af feltet til Date(), men jeg vil have, at datoen bliver stående indtil der bliver tastet en ny kusværdi i feltet txtValuta, sådan at jeg kan bruge feltet txtDato til at se hviken dato den indtastede Valuta var den gældende. Jeg havde egentlig ikke tænkt at det skulle gemmes i en undeliggende tabel, men det bliver jeg muligvis nødt til af andre årsager.
Tabel: tblDatoer ... med felterne: DatoID = autonummer Dato = dato Valuta = valuta
Forespørgsel: qryDatoer ... baseret på felterne fra: tblDatoer. Formular: frmDatoer ... baseret på forespørgslen qryDatoer.
I formularens "Header" sektion har jeg indsat et ubundet tekstfelt som hedder: txtValuta ... iVBA koden bag feltets "AfterUpdate" hændelse ser således ud:
Private Sub txtValuta_AfterUpdate()
'sæt en ny post DoCmd.GoToRecord , , acNewRec
'datofeltet på formularen sættes = den aktuelle dato Me.Dato.Value = Date
'valutafeltet på formularen sættes = valutaen i det ubundne tekstfelt Me.Valuta.Value = Me.txtValuta.Value
if you dont save teh date value in the database then dont see any point in having it on the form. As soon as the record is saved then the value is lost!
Nu tror jeg det begynder at ligne noget. Inden jeg læste jeres sidste 3 kommentarer var jeg selv nået fem til, at jeg var nødt til at have tallene i en tabel, også til senere brug. Tabellen er vist identisk med lalocins forslag, og jeg har sat datofeltets defaultvalue til Date() Pt. ligger det så som et textfelt i formularen me denne kode: ="Valutakurs € : " & DMax("Kurs";"tblValutakurs") & " gyldig d. " & DMax("KursDato";"tblValutakurs") Så langt så godt. Når så man ønsker at taste en ny kusværdi ind, har jeg lavet en knap der åbner en anden formular, baseret direkte på tblValutakurs, hvor jeg kan taste en ny kurs ind, men det ville være smartere, hvis jeg kunne gøre det direktei et textfelt i den oprindelige formular og så bruge AfterUpdate. Det ligner, at jeg kan bruge noget fra Lacolins forslag der, men jeg kan ikke lige gennemskue, hvordan jeg får det puttet i tabellen.
Og, jeg har opdaget den fejl jeg har lavet oppe i #6 (jeg er jo ikke kun interesseret i den højeste kurs) :-)
Synes godt om
Ny brugerNybegynder
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.