Avatar billede -anders- Juniormester
01. april 2004 - 12:08 Der er 19 kommentarer og
1 løsning

Gå til nyeste post i underformular

Hej Eksperter
Jeg har en form, på denne form har jeg indsat en undeformular (dataark)underformularen hedder "frmsuboversigt", hovedformen hedder "frmhovedoversigt", jeg bruger kun hovedformen som en "skal" til underformen. Underformen indeholder alle poster i min db. Når jeg opretter en ny post er dette på en form der "popper op" når jeg har udfyldt alle mine mine felter lukker jeg pop up formen, og nedenstående kode køre på Before update:

If MsgBox("Vil du gemme de udførte ændringer", vbQuestion + vbYesNo, "Gem") = vbNo Then
DoCmd.RunCommand acCmdUndo
Form_frmhovedoversigt.frmsuboversigt.Requery
DoCmd.Close acForm, "frmregservicekald"
End If

Dette virker perfekt min underform opdatere. spørgsmålet er nu:
Kan man i ovenstående kode eller på anden måde sætte fokus på den nyeste post (den man lige har oprettet)i underformen. Min nøgle er et felt (ID), af typen autonummering, underformen sortere altid stigende på feltet ID. nogen der har et forslag.

mvh Anders.
Avatar billede mugs Novice
01. april 2004 - 12:13 #1
Du skal først sætte fokus på underformularen. Hvis du står i Parentform:

Me.Underformens navn.SetFocus

Nu refererer Me til underformularen:

Du kan så lade underformen gå til den sidste record.
01. april 2004 - 12:13 #2
Prøv med:
docmd.GoToControl  "frmsuboversigt"
docmd.Gotorecord ,,acLast
Avatar billede -anders- Juniormester
01. april 2004 - 12:15 #3
Hej
Tak for indlæggende, tester lige og vender tilbage.
Avatar billede -anders- Juniormester
01. april 2004 - 12:19 #4
Hej igen
Ingen af indlæggende virkede (mener også at det var prøvet tidligere), jeg tror der skal noget andet til, da jeg jo opdatere underformen ved klik på ja eller nej på en msgbox og ikke en "alm" kommandoknap. er der andre forslag
Anders.
Avatar billede mugs Novice
01. april 2004 - 12:21 #5
Hvor har du lagt koden?
Avatar billede -anders- Juniormester
01. april 2004 - 12:23 #6
Koden ligger i en funktion i et modul. på popup formen under egenskaben before_update, kalder jeg funktionen "lukoggemnytservicekald()" det er access 2002
Avatar billede -anders- Juniormester
01. april 2004 - 12:29 #7
Hvis jeg sætter en kommandoknap på min hovedform, og lader denne knap ved klik gå til sidste post, viker jeres forslag unden problemer, så problemet må ligge i den måde min egen kode eksikvere på
Avatar billede mugs Novice
01. april 2004 - 12:31 #8
Det var jeg faktisk ved at tænke på. Du kalder funktionen fra en POPUP form, og lukker herefter POPUP. Prøv at indsætte koden INDEN du lukker POPUP.
Avatar billede -anders- Juniormester
01. april 2004 - 12:35 #9
Prøver lige
Avatar billede -anders- Juniormester
01. april 2004 - 12:39 #10
Nej desværre hjælper det ikke, gad vide om det i det hele tage kan lade sig gøre, har du flere ideer
Avatar billede mugs Novice
01. april 2004 - 12:42 #11
Det SKAL kunne lade sig gøre. Prøv at indsætte Thomas' koden i POPUP's VedLukning
Avatar billede -anders- Juniormester
01. april 2004 - 12:47 #12
Har nu prøvet at indsætte thoms, kode som du forslå, men det køre heller ikke, der skal vist noget andet til måske en funktion ??
Avatar billede mugs Novice
01. april 2004 - 12:49 #13
Kan du sende db:

mugs@mail.dk
Avatar billede -anders- Juniormester
01. april 2004 - 12:53 #14
Jeg kan ikke sende den originale, men jeg skruer lige noget sammen, og sender om 10 min.
Avatar billede -anders- Juniormester
01. april 2004 - 13:05 #15
Sendt
Avatar billede mugs Novice
01. april 2004 - 14:47 #16
db modtaget og returneret.

Når formen der tilføjer nye data mister fokus, har jeg indsat flg:

Me.Requery
Call lukoggemnytservicekald

Formen sender ikke nye data til tabellen, før den enten lukkes, flytter til anden post eller Requery. Derefter kaldes modulet:


If MsgBox("Vil du gemme de udførte ændringer", vbQuestion + vbYesNo, "Gem") = vbNo Then
DoCmd.RunCommand acCmdUndo
End If
DoCmd.OpenForm "frmsuboversigt"
DoCmd.GoToRecord , , acLast
Avatar billede -anders- Juniormester
01. april 2004 - 14:57 #17
Hej Mugs
Tak for testdb, ja det virker hvis man åbner frmsuboversigt, men det var ikke lige meningen med det da den sådan set allerede er åbn, dog som underform på frmhovedoversigt, så jeg ønsker ikke at åbne selve frmsuboversigt hvergang jeg opretter en ny post, meningen var at det skulle direkte i underformen, beklager hvis jeg ikke har formuleret det helt korrekt fra starten.
Avatar billede mugs Novice
01. april 2004 - 15:33 #18
Ny db er sendt.
Det basale problem er, at data ikke er gemt i tabellen, når aandersen ønsker at se den nye post.
Avatar billede -anders- Juniormester
01. april 2004 - 15:43 #19
Hej Mugs
Tak for den nye test db, jeg er ening i at problemet er at posten endnu ikke er gemt, men det skulle jo egenlig være muligt at gå til sidste record i formen uanset om man har oprettet en ny post eller ej. Nevermind din sidste testdb for mig videre, så points er på vej til dig.

Mange access hilsner fra Anders.
Avatar billede mugs Novice
01. april 2004 - 15:47 #20
Tak for point.
Det er da også muligt at gå til den sidste record. Men denne record er bare ikke den nye, før den er gemt i tabellen og det bliver den først når du:

- Genforespørger (Requery).
- Lukker og åbner formularen.
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