Avatar billede overchord Nybegynder
05. juni 2003 - 17:27 Der er 15 kommentarer og
3 løsninger

set focus for en rapport/Access 97

Jeg ved ikke om det bare er mig der er lidt tungnem idag...men here goes:
Jeg starter med en maksimeret form (frmMain) hvorfra brugeren ved tryk paa en knap bringer en ny form (frmLists) op (dialog, saa ikke maksimeret), hvor der er en oversigt over diverse rapporter som enten kan printes eller previewes. Formen (frmLists) dukker op ok, men saa snart brugeren har valgt en rapport skal denne form lukkes igen. Dette har jeg gjort med flg kodestruktur under hvert valg a rapport:

Private Sub btnAlphabeticalList_Click()

DoCmd.OpenReport "rptSpeciesList", acViewPreview
DoCmd.Close acForm, Me.Name, acSaveNo

End Sub

Problemet er nu at formen (frmLists) lukker, rapporten dukker op, men laegger sig BAG den maksimerede form (frmMain). Saa jeg har altsaa brug for en maade at saette fokus paa rapporten, men saa vidt jeg kan se er der ikke en umiddelbar .setfocus for rapporter.
Hvis jeg ikke lukker den anden form (frmLists) laegger rapporten sig ovenpaa hovedformen (frmMain) og bliver der naar mna klikker paa "Close" knappen for formen (frmLists).
Er der nogen der kan give en forklaring eller en genvej til at give rapporten fokus?
Beklager den lange forklaring :-)
Avatar billede henrik13 Nybegynder
05. juni 2003 - 17:47 #1
naar man klikker paa "Close" knappen for formen (frmLists).Skal den som sidste punkt åbne en timerform.
Een timerform er en formular der åbnes skjult med et tids intervald, Ved timer, skriver du luk timerform og set fokus på printerformularen.
Så enkelt er det.
Vh Henrik
Avatar billede mugs Novice
05. juni 2003 - 17:48 #2
Prøv at indsætte Close kommandoen i rapportens VedLuk event:
 
DoCmd.Close acForm, Me.Name, acSaveNo
Avatar billede henrik13 Nybegynder
05. juni 2003 - 17:49 #3
Rettelse:
set fokus på printerformularen =
set fokus på Rapporten
Avatar billede mugs Novice
05. juni 2003 - 17:49 #4
Henrik > Hvad vil du sætte Timerinterval til?
Avatar billede overchord Nybegynder
05. juni 2003 - 17:52 #5
erhm jeps men jeg ville gerne bare have at brugeren kan klikke direkte paa en knap for at aabne en liste hvrefter (frmLists) lukker automatisk. Brugeren kan saa laese igennem rapporten osv. og naar den lukkes er man tilbage ved (frmMain). Men ok det kan selv godt goeres vha en timerform men problemet er at jeg ikke kan finde hvordan jeg skal saette fokus paa rapporten. Ret basalt...men setfocus er ikke tilgaengeligt for rapporter i access 97.... Jeg ved ikke om jeg bare skal laegge noget kode i onLoad for rapporten istedet..?
Avatar billede henrik13 Nybegynder
05. juni 2003 - 17:53 #6
5 Sek = 5000 Jeg kontrolere lige udregningen  :o)
Avatar billede overchord Nybegynder
05. juni 2003 - 17:55 #7
mugs -> Nej jeg vil have formen lukket inden rapporten skal lukkes. Saa Close commando for formen i rapporten onClose medfoerer vel bare at formen bliver haengende indtil man lukker rapporten
Avatar billede henrik13 Nybegynder
05. juni 2003 - 17:55 #8
Jeg udnøtter også den gamle knap (Cloce). til dette..
Avatar billede mugs Novice
05. juni 2003 - 17:57 #9
overchord > Og hvad så - Du ser den jo ikke.
Avatar billede overchord Nybegynder
05. juni 2003 - 17:57 #10
okv jeg preover lige noget helt "back-to-basics" foerst: Hvordan faar jeg sat fokus paa rapporten ligegyldigt om formen (frmLists) er aaben eller lukket?
Avatar billede overchord Nybegynder
05. juni 2003 - 18:04 #11
mugs -> Et andet problem med din metode er at rapporten bliver specifik. Dvs jeg kan KUN kalde den fra den bestemte form (frmLists), hvilket ikke er saerligt fleksibelt. Hvis jeg aabner rapporten fra en anden form/kode efter at have indsat denne kode vil jeg faa fejl hvis formen (frmLists) ikke er aaben.
05. juni 2003 - 19:23 #12
Hej Overchord, Jeg har selv ofte dette problem og har løst det ret simpelt. Jeg skjuler simpelthen min formular inden jeg åbner rapporten:

Private Sub btnAlphabeticalList_Click()

Me.Visible = False
DoCmd.OpenReport "rptSpeciesList", acViewPreview
DoCmd.Close acForm, Me.Name, acSaveNo

End Sub
Avatar billede overchord Nybegynder
06. juni 2003 - 02:06 #13
Cool - det hjaelper paa en stor del af problmet! Som fodnote vil jeg lige indskyde at alle svar indtil videre har bragt noget til loesningen, saa jeg regner med at dele points ud til alle bidragere.
MEN - jeg er mmaske lidt pedantisk - men jeg fatter ikke lige helt hvorfor fokus skifter tilabe til hovedformen (frmMain) naar jeg vaelger at lukke den anden form (frmLists) fremfor at saette fokus paa rapporten. Er der virkeligt ikke en simpel metode til at saette fokus paa en rapport fremfor en form??
06. juni 2003 - 08:28 #14
Overchord-> Har du prøvet mit forslag???
Avatar billede overchord Nybegynder
06. juni 2003 - 10:39 #15
thomasjepsen -> Ja, jeg afproevede det denne mornge og det fungerer perfekt!
06. juni 2003 - 10:43 #16
Du kan sagtens sætte fokus på en rapport. Du skal bare bruge denne kommande:
docmd.SelectObject acReport,"DinRapport"
06. juni 2003 - 10:43 #17
MIn anden løsning var bare lettere, syntes jeg ;o)
Avatar billede overchord Nybegynder
06. juni 2003 - 17:24 #18
ja, det virker fint. Det er bare ikke specielt "intuitivt" hvorfor fokus skulle skifte paa den maade fordi man gemmer formen. Men hva: "if it works - don't fix it!"
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