Avatar billede porsager Nybegynder
25. januar 2006 - 13:38 Der er 15 kommentarer og
1 løsning

Åbne på post ud fra aktuel uge

Hejsa..

Jeg har en tabel med en post for hver uge i året. Jeg vil så gerne når jeg åbner formen starte på den post som er den rigtige uge.
Så dvs. i øjeblikket skulle den åbne op på posten for uge 4.
Jeg har et felt i tabellen der hedder "uge" som den skal kigge efter.

Har nu siddet og prøvet lidt selv og derefter kigget igennem herinde forgæves, så håber der er nogen der kan hjælpe.
Avatar billede lordnelson Seniormester
25. januar 2006 - 13:44 #1
du kan bruge
uge = weekday(now())

altså
select *  from tabel where uge = "&uge&"

LN
Avatar billede porsager Nybegynder
25. januar 2006 - 13:56 #2
Nu er jeg ikke lige haj på VBA og SQL, så er lidt i tvivl om hvordan jeg skal bruge dette, kunne du give en nærmere forklaring?
Avatar billede porsager Nybegynder
25. januar 2006 - 14:09 #3
Ok, jeg kom frem til at den øverste sætter mit "uge" felt til den uge jeg har nu, men det er sådan at jeg allerede har indtastet ugerne, og når jeg åbner formen skal den bare gå til dn aktuelle uge..
Avatar billede mugs Novice
25. januar 2006 - 14:10 #4
Prøv at indsætte flg i formularens VedÅbning. Koden er IKKE afprøvet:

Dim VARa as integer
VARa = Me!uge
DoCmd.FindRecord Me!uige = VARa
Avatar billede porsager Nybegynder
25. januar 2006 - 14:14 #5
Hejsa mugs.

Den kommer op med en Run-time error (2162)
Avatar billede mugs Novice
25. januar 2006 - 14:49 #6
Ja - Det var også noget vrøvl jeg fik skrevet:

dim VARa as integer
docmd.gotocontrol "uge"
VARa = Me!uge
docmd.findrecord Vara, acEntire, false, , false, accurrent, true

Du må lige eksperimentere lidt med, hvor den skal indsættes.
Avatar billede porsager Nybegynder
25. januar 2006 - 14:55 #7
Hmm jeg kan ikke se i koden hvorhenne du kigger på hvilken uge vi er i nu, eller er i på det givne tidspunkt??
Avatar billede mugs Novice
25. januar 2006 - 15:12 #8
Her går du til dit felt med ugenr:
docmd.gotocontrol "uge"

Derefter sætter du variablen VARa = feltet uge:
VARa = Me!uge

Men du behøver ikke ugenr:

dim VARa as integer
dim VARb as date
VARb = Date
VARa = Datepart("ww", VARb, {vbMonday], [vbFirstFourDays])
docmd.findRecord VARa, acEntire, False, , True, acCurrent, True

Prøv at indsætte denne kode i en kommandoknap og se, og den ikke finder den første post i den aktuelle uge.
Avatar billede -anders- Juniormester
25. januar 2006 - 17:21 #9
Du kan også prøve det som LN forslår tidligere, her et eks. på en kode som feks. kan lægges ved formen Ved Åbning hændelse, koden viser så kun den eller de poster der matcher den aktuelle uge da postkilden angives via variablen uge. Man kunne så indsætte en knap øverst som ved klik kunne vise alle poster hvis dette er nødvendigt.

Kode til poster for den aktuelle uge:

Dim uge As String
'Her findes den aktuelle uge automatisk, argumentet Now() gør at der også spørges automatisk på årstallet'
uge = Weekday(Now())
'Her trækkes data fra tabellen hvor ugenr i ugenummerfeltet i tabellen er angivet til den aktuelle uge'
Me.RecordSource = "Select * From tbldata Where [Ugenr]= " & uge

Denne kode viser så alle poster i formen feks. ved klik på en knap

Me.RecordSource = "Select * From tbldata"

Felt og tabelnnavne skal så rettes til dine egne, dette kunne være en måde at gøre det på
Avatar billede -anders- Juniormester
25. januar 2006 - 17:24 #10
Der er således ikke tale om en søgning med en dynamisk skiftning af postkilde alt efter hvilken uge der er den aktuelle
Avatar billede -anders- Juniormester
25. januar 2006 - 17:38 #11
En anden måde, hvis du feks. åbner den aktuelle form via en knap fra en anden form kan man benytte et såkaldt serverfilter, ved klik hændelse på en evt. knap kan man skrive:

Dim ugenummer As String
ugenummer = Weekday(Now())
DoCmd.OpenForm "NavnPåDinForm",,,"Uge = " & ugenummer

Hvor Uge er navn på dit felt i tabellen, og ugenummer er den variable der indeholder den aktuelle uge.

Når formen åbnes er de poster der matcher den aktuelle uge automatisk filtreret. Hvis du vil se alle poster kandu blot højreklikke på formen, og vælge Fjerfiler/Sortering
Avatar billede porsager Nybegynder
26. januar 2006 - 08:49 #12
Hejsa.

Mange tak for hjælpen alle sammen. Jeg fik mugs løsning til at fungere som jeg ønskede det skulle. Jeg skulle nemlig også have mulighed for at gå frem og tilbage i poster.
Avatar billede porsager Nybegynder
26. januar 2006 - 09:00 #13
Lige en lille kommentar, havde sat din kode på oncurrent mugs, men nu fandt jeg lige ud af at den jo så også kører koden hver gang jeg prøver at gå til en anden post, så den ender altid på den aktuelle uge :-P Kunne man evt. lave koden så den kunne bruges på form_open??
Avatar billede mugs Novice
26. januar 2006 - 09:40 #14
Tak for point.

Hændelsen OnCurrent opstår hver gang du skifter til en anden post, så koden SKAL gennemkøres der.

Jeg har ikke prøvet at køre koden i hændelsen ved åbning, men prøv blot at kopiere koden og sæt den ind i hændelsen VedÅbning. Husk at slette den i OnCurrent.
Avatar billede porsager Nybegynder
26. januar 2006 - 19:14 #15
Nej, altså den virker nemlig ikke når man sætter den på vedåbning.. Desværre :)
Avatar billede mugs Novice
26. januar 2006 - 19:19 #16
Jeg tvivler på, at det kan laves i VedÅbning, idet formularen jo slet ikke er klar endnu til at modtage kommandoer.
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