03. februar 2006 - 11:15Der er
7 kommentarer og 2 løsninger
Avsluta operation med focus på ett fælt
Hej alla! Nær jag har ett formulær øppet och via knappfunktion eller fæltfunktion kør en instruktion, vill jag att operationen avslutas med att ett visst fælt får focus. Jag undrar om det finns någon kodinstruktion som resulterar i att fæltet som har tabordning 0 får focus? Man kan ju alltid anvønda instruktionen DoCmd.GoToControl "Mitt fælt", men finns det kodinstruktion som hittar fæltet med tabordning 0?
Der findes en egenskab i VBA der hedder tabindex. Spøgsmålet var oppe for ikke så lang tid siden, og så vidt jeg husker, blev der ikke fundet nogen brugbar løsning.
Nyholm > Ville det mon virke, hvis du havde en lille funktion, som gennemløb elementerne på en formular og fandt den, som havde tabindex = 0 ? Den funktion kunne så køres i stedet for "docmd.gotocontrol..."
Ville den her virke?
Function SetTabToZero() Dim ctl As Control Dim frm As Form Dim s As String Set frm = Forms!form2 For Each ctl In frm.Controls If ctl.ControlType <> 100 Then If Me(ctl.Name).TabIndex = 0 Then s = ctl.Name End If End If Next Me(s).SetFocus Set ctl = Nothing Set frm = Nothing End Function
Jesper - Jeg får en fejl når jeg gennemløber din kode. Har rodet lidt med det, og denne fungerer tilsyneladende:
Function SetTabToZero() Dim ctl As Control Dim frm As Form Set frm = Forms!frmfilter For Each ctl In frm If ctl.ControlType <> 100 Then If ctl.TabIndex = 0 Then Exit For End If End If Next ctl.SetFocus Set ctl = Nothing Set frm = Nothing End Function
Mugs > Din virker i hvert fald også. Jeg får nu ingen fejl fra min egen. Blot skal formularnavnet selvfølgelig passe til den form man arbejder med. Men lade sig gøre kan det vist.
Hej jesperfjoelner och mugs! Har varit bortrest och inte kunnat svara tidigare. Tack før era førslag. I ditt førslag, mugs, anger du "Set frm = Forms!frmfilter". Vad står frmfilter før? Nær jag har testat ditt førslag så har jag angett formulærets namn i stællet før frmfilter. Kan jag anvænda ett uttryck som fungerar på aktivt formulær, d v s det formulær som jag startar funktionen från?
Anledningen till att jag søker en funktion som finner førsta fæltet, ær att jag har børjat få ett felmeddelande efter att en kod kørs som slutar med DoCmd.GoToControl "Forarnr". Meddelandet sæger att det inte finns något fælt i denna postuppsættning med det namnet, trots att fæltet finns. Jag kan inte hitta orsaken till att detta felmeddelande kommer upp.
Nyholm > forms!frmfilter betyder blot at din formular hedder "frmFilter". Hvis din formular hedder "form2" skal der stå "forms!form2"
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.