Avatar billede dla Praktikant
16. juni 2004 - 14:33 Der er 23 kommentarer og
2 løsninger

Hop fra underformular til hovedformular

I en formular har jeg en underformular. Når man har skrevet noget i underformularen skal der komme en msgbox der minder en om at man skal huske at opdatere et felt i hovedformularen. Det har jeg gjort med:

Private Sub Form_BeforeUpdate(Cancel As Integer)
        besked = MsgBox("Husk at opdatere opfølgningsdato", vbExclamation, "Har du husket?")
End Sub

Nu er det jeg gerne vil have at fokus derefter sættes på feltet NæsteOpfDato i hovedformularen, men

Me!Hovedformular!NæsteOpfDato.SetFocus

Giver fejlen: Microsoft Access kan ikke flytte til kontrolelementet NæsteOpfDato
Og det samme sker hvis jeg skriver Me.Parent i stedet for formularens navn.

Hvad gør jeg galt?
Avatar billede hnteknik Novice
16. juni 2004 - 14:35 #1
me.hovedformular vil aldrig gå.
me.parent skulle virke.

Jeg graver lige i gemmerne -et øjeblik
16. juni 2004 - 14:35 #2
prøv med denne:

docmd.SelectObject acForm, "Hovedformular"
docmd.GoToControl "NæsteOpfDato"
Avatar billede dla Praktikant
16. juni 2004 - 14:36 #3
undskyld - jeg havde også brugt Forms!Hovedformular, men uden held
Avatar billede hnteknik Novice
16. juni 2004 - 14:39 #4
Her var den ( uddrag)
Navigation between Access main and subforms
Great idea to enable users to tab through the main form then subform, then back to the main form. Here is a quick and easy method to accomplish the same thing: 1.) add a command button on the subform, 2.) set the button's format to transparent, 3.) set the button's tab order to be the last in the tab sequence, 4.) on the button's GotFocus event, enter the following code to set the focus to a control on the main form: Parent.SetFocus
Parent.control_name.SetFocus
Avatar billede hnteknik Novice
16. juni 2004 - 14:39 #5
Svaret var:
Parent.SetFocus
Parent.control_name.SetFocus
Avatar billede dla Praktikant
16. juni 2004 - 14:40 #6
Den siger stadig den ikke kan flytte til NæsteOpfDato - og det hedder feltet altså, hvad hulen er der i vejen??
16. juni 2004 - 14:40 #7
Hvad med denne:
Parent.setfocus
docmd.GoToControl "NæsteOpfDato"
Avatar billede dla Praktikant
16. juni 2004 - 14:44 #8
Den siger stadig det samme :-(
16. juni 2004 - 14:45 #9
Og du er helt sikker på, at tekstboksen hedder NæsteOpfDato (det er ikke tilfældigvis etiketten?) og at markøren rent faktisk KAN placeres i feltet (manuelt)?
Avatar billede dla Praktikant
16. juni 2004 - 14:47 #10
Yeps, jeg har checket 1000 gange
Avatar billede hnteknik Novice
16. juni 2004 - 14:48 #11
har du prøvet min ??
Avatar billede dla Praktikant
16. juni 2004 - 14:49 #12
Jeg prøver lige den med den usynlige knap - øjeblik
Avatar billede dla Praktikant
16. juni 2004 - 15:00 #13
Ok, den med den usynlige knap virker, men kun hvis jeg laver underformularen om til fortløbende, og jeg vil altså gerne have den vist som dataark og så virker det ikke, så går den bare hen til ny post. Andre bud?
Avatar billede hnteknik Novice
16. juni 2004 - 15:03 #14
Det er nok, fordi knappen forsvinder i dataarket. Prøv at sætte koden ind i din sub allerøverst.
16. juni 2004 - 15:04 #15
Denne virker altså hos mig:
docmd.SelectObject acForm, "Hovedformular"
docmd.GoToControl "NæsteOpfDato"

Det kræver bare, at feltet NæsteOpfDato ikke findes i underformularen
Avatar billede dla Praktikant
16. juni 2004 - 15:09 #16
hnteknik> hvad mener du med allerøverst? Hvor?

Thomas> jeg forstår det simpelthen ikke - den kan (VIL!) ikke flytte til NæsteOpfDato
16. juni 2004 - 15:10 #17
har du mulihed for at maile den fil mig?
Avatar billede hnteknik Novice
16. juni 2004 - 15:10 #18
Private Sub Form_BeforeUpdate(Cancel As Integer)
        besked = MsgBox("Husk at opdatere opfølgningsdato", vbExclamation, "Har du husket?")
End Sub

Hvis den virker, skulle du kunne sætte jump koden ind her.
Henrik
Avatar billede hnteknik Novice
16. juni 2004 - 15:11 #19
Øh med den kode bliver så subform opdateret ???
hvad med after update ???
16. juni 2004 - 15:12 #20
hey....prøv at flytte koden til Form_AfterUpdate
16. juni 2004 - 15:19 #21
På BeforeUpdate er posten endnu ikke gemt. derfor får du skam ikke lov at smutte fra underformularen!
Avatar billede dla Praktikant
16. juni 2004 - 15:19 #22
SELVFØLGELIG skal det være AfterUpdate, hvor er jeg dog dum! Nu virker det præcis som det skal. Tak Thomas!

Tak begge to fordi I har spildt jeres tid på mig, I deler pointene!
16. juni 2004 - 15:24 #23
selv tak :o)
16. juni 2004 - 15:28 #24
det er en god regel, at man KUN bør bruge BeforeUpdate (også på kontroller), når man skal validere og have mulighed for at annullere. Ellers skal man altid bruge AfterUpdate.
Avatar billede hnteknik Novice
16. juni 2004 - 15:32 #25
Y're always welcome
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