21. oktober 2008 - 13:10Der er
13 kommentarer og 1 løsning
Formular med flere tomme linier til indtastning ud fra datoer
Jeg ved ikke lige helt hvordan jeg skal formulere det, men jeg har i flere databaser, en formular hvor i jeg indtaster data, typisk for en uge ad gangen, det kan både være fremadrettet og bagudrettet. Det jeg godt kunne tænke mig, var at når jeg åbnede formularen, så stod den klar med f.eks 5 "tomme linier" til indtastning, bortset fra datoen, som så kom frem som mandag, tirsdag, onsdag, torsdag og fredag i 1. felt i f.eks foregående uge, eller endnu mere avanceret, valgt ud fra ugenr (jeg kan jo have holdt fri)
Tak for linket. Jeg havde selv ledt men uden held :-)
Jeg tror også, at jeg kan bruge dit svar, men inden jeg giver points (nu ved jeg jo hvordan (det var markeringen jeg manglede)), kan jeg så få dig til at skære det lidt mere ud i pap, jeg er ikke så hård til VBA som jeg gerne ville være. Vi kunne antage, at min tabel bare hedder Tabel1, og at felterne hedder Dato, Felt1, felt2 og Felt3. Hvis den så skal opdateres 1 gang ugentlig, for nemheds skyld, på en fast ugedag. Så ville den første dato i formularen være f.eks Now()-7, og den sidste i så now()-1 Jeg skal have en variabel for datoen, ikk? Men skal jeg have flere ? de resterende felter skal bare være tomme, og klar til indtastning.
Det virker, næsten :-) Jeg har lagt det på en Form_open (Copy and paste) Men første gang jeg åbner formularen sker der ingenting. Og som jeg læser din kode, skal den putte 5 datoer i tabellen, i dag, og de næste 4 datoer, har jeg ikke ret i det ? Den tager i dag, altså den 22-10, så tager den d. 23-10, 25-10, 28-10 og 1-11, og den tager alle datoerne 2 gange. Det kan jeg ikke rigtigt gennemskue hvorfor.
Ups, det dobbelte antal datoer skyldtes en fejl 40, jeg havde først prøvet på Form_load, og da der ingenting skete i første forsøg, copierede jeg videre over i Form_open
Bingo, det virker, og det vil jeg få rigtigt meget glæde af.
Kan du forklare mig hvad "d" står for i denne sætning: varDato = dateAdd("d", i, varDato)
Jeg vil gerne give dig yderligere 30 points hvis du kan hjælpe mig med at gøre den endnu mere avanceret. Et er jo hvis jeg skal søge x antal dage frem eller tilbage fra idag, det kan jeg godt finde ud af, men hvis jeg nu ikke kender x bagudrettet, men er interesseret i at fylde op fra seneste dato til i dag. Og mere endu, hvis ovenstånde evt. også skal hænge sammen med Felt1, hvor jeg kan vælge mellem A, B eller C. I dette tilfælde vil jeg åbne formularen fra en anden formular, hvorfra jeg vælger A,B eller C fra en comboboks. Vi kan jo kalde den cboFelt1
If you mark (select) dateAdd with the mouse and then press F1 you should see Access help with an explanation of th efunction dateAdd. But baiscally the first parametre (d in this case) is the interval d=day. It can also be m=month and so on.
I wont have time to help you with your next question(s) until earliest tomorrow but if I can I will. But I think I will need the second part ("Og mere endu...") expalined in more detail.
Drop me a mail and I'll get back to you ASAP. ekspertenATsanthell.dk AT = @
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.