Avatar billede banelars Nybegynder
11. marts 2002 - 08:15 Der er 15 kommentarer og
1 løsning

Thomas og Terry hjalp med dette.

Hejsa.

Jeg har en db (Access 2000),
hvor markøren skal stå i første felt i formularerne.

Me!navn.SetFocus

Jeg har lavet det sådan, at når en formular åbnes, så lukkes den forrige formular.
Dermed er der kun én formular åben af gangen.
Én af formularerne havde dog ikke markøren i første felt. Dette blev afhjulpet med ovenstående kode. Fint nok.

Problemet er nu, at databasen er blevet ret stor 1,3 Mb. Og så er der ikke engang data i endnu.
Dette pga. mange moduler (ca 100).

Over halvdelen af dem indeholder omtalte åbn/luk procedurer til formularerne og formularknapperne.

Nu overvejer jeg så, at lade være med at lukke formularerne, men at have dem oven på hinanden. Det drejer sig om 10 formularer i alt.
Hvis jeg vælger denne løsning vil db'en fylde meget mindre.

Jeg har afprøvet dette og ville så bruge SetFocus koden, til at få markøren til at starte i første felt.
Men da formularerne ikke længere lukkes når man åbner en anden, så virker koden åbenbart ikke.
Er der en hændelse man kan knytte koden til, så den kan få markøren til at starte i første felt, eller er der en anden løsning ?

Lidt langt indlæg, men jeg håber det er forståeligt.

Hilsen Lars.
11. marts 2002 - 08:21 #1
Hej Lars,

Rart med lidt læsestof her om morgenen :o)

Du kan bruge hændelsen "VedAktivering" i stedet for "VedIndlæsning"

Private Sub Form_Activate()
  Me!Felt.Setfocus
end sub

Vær dog opmærksom på at denne hændelse ikke bliver tricket, hvor formen er modal + popup.

/Thomas
Avatar billede proaccess Nybegynder
11. marts 2002 - 08:21 #2
Når du skal "hoppe" fra FormA til FormB, så kan du sætte focus allerede i FormA's skifte-request...

På formA:
Private Sub btnVisB_Click()
  FormB.FeltX.SetFocus
  FormB.Show
End Sub
11. marts 2002 - 08:22 #3
'morgen Poul Erik :o)
Avatar billede banelars Nybegynder
11. marts 2002 - 08:23 #4
Godmorgen de herrer.

Jeg afprøver lige forslagene og melder tilbage.

Lars.
Avatar billede proaccess Nybegynder
11. marts 2002 - 08:26 #5
Ja, man må sgu' være tidligt oppe i disse dage... ;-)
Jeg er da heldigvis frisk og udvilet efter en tiltrængt weekend, så nu burde der være basis for at jeg går efter 2. pladsen på Databaser (hovedkategorien)  **LOL**
11. marts 2002 - 08:29 #6
haha, go for it !!! :o)
Avatar billede banelars Nybegynder
11. marts 2002 - 08:33 #7
Hej igen.

Dit forslag virkede Thomas.
Men nu opstod der et nyt problem.
Sådan er det jo. Handling skaber konsekvens!

Jeg har en Godkend-knap, som ved tryk på denne henter en ny post (blanker formularen af).
Hermed forsvinder fokus jo fra første felt.

Kan man få markøren til - også i dette - tilfælde, at starte i første felt efter tryk på Godkend.

Pointhøsten hæves selvfølgelig, hvis dette kan løses.

Lars.
11. marts 2002 - 08:40 #8
Kan du ikke bare skrive det samme på godkendkanppen?

Private Sub cmdGodkend_Click()
  ....
  ....
  Me!Felt.Setfocus
end sub
11. marts 2002 - 08:42 #9
Du kan også (samtidig med det andet) lægge sætningen på formens "VedAktuel"-hændelse.

Private Sub Form_Current()
  Me!Felt.Setfocus
end sub

Derved flyttes fokus til feltet hver gang du skifter post...

/Thomas
Avatar billede banelars Nybegynder
11. marts 2002 - 08:43 #10
Mit VBA kendskab er ikke så stort endnu (skal dog snart i gang med dette på fjernundervisning).

Hvordan knytter jeg det til Godkendknappen og skrives det som du har skrevet det ?
Avatar billede banelars Nybegynder
11. marts 2002 - 08:48 #11
Jeg fik lige dit nye forslag med VedAktuel,
men markøren går ikke til første felt,
ved tryk på Godkend (GåTilNyPost).
11. marts 2002 - 08:56 #12
hvordan ser koden ud?
Avatar billede banelars Nybegynder
11. marts 2002 - 09:04 #13
Øverste kod går på Godkendknappen,
de andre går på formularen "FIndskriv".

DoCmd.GoToRecord acForm, "FIndskriv", acNewRec


Private Sub Form_Activate()
    Me!gyldigfra.SetFocus
End Sub

Private Sub Form_Open(Cancel As Integer)
    Me!gyldigfra.SetFocus
End Sub
Avatar billede banelars Nybegynder
11. marts 2002 - 09:07 #14
Den nederste kode jeg angav på "Open" er forkert.
Den går på "Current" (VedAktuel), som du foreslog.
11. marts 2002 - 09:17 #15
OK, men kan du ikke, på Godkend-knappen, skrive:

DoCmd.GoToRecord acForm, "FIndskriv", acNewRec
Me!gyldigfra.SetFocus

/Thomas

PS: Jeg er på vej ud af døren nu og er første på igen i aften - ellers tror jeg ProAccess eller andre vil hjælpe dig :o)
Avatar billede banelars Nybegynder
11. marts 2002 - 09:20 #16
Hej Thomas.

Jeg kvaj!
Jeg prøvede lige at indtaste en post og trykke Godkend,
så virkede det. Det er jo klart at focus fjernes når jeg trykker på Godkend i en blank formular.

Tak for hjælpen.
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