14. april 2010 - 08:57 Der er 7 kommentarer og
1 løsning

Aktivere scrollbar

Dette er muligvis ikke specifikt et Access problem (jeg mener at jeg har moedt det sporatisk andre steder,) men det er i Access applicationer jeg nu bakser med det, saa jeg proever her.

Naar jeg i en formular laver en kontrol, for eksempel en listbox, med et stort antal linier saa dannes der en vertikal scrollbar.  Naar jeg bevaeger scrollbarens haandtag saa ruller linierne ikke som man skulle forvente.  Naar jeg slipper handtaget saa springer linierne til der hvor de skulle have rullet.  Det kan jeg fikse ved at traekke handtaget hele vejen ned til bunden af listen og slippe.  Saa vises bunden af listen.  Derefter kan jeg rulle normalt med linierne ved at bevaege scrollbarens haandtag, og det kan jeg goerer saa laenge formularen er aaben.  Hvis jeg lukker og genaabner formularen, eller hvis jeg skifter til design view og tilbage, gentager problemet sig og jeg skal traekke haandtaget til bunds igen foer det virker.

Har andre den samme erfaring og er man noedt til at leve med det og laere kunderne at goere det samme eller kender nogen en loesning saaledes at scrollbaren virker med det samme?
Avatar billede terry Ekspert
14. april 2010 - 09:06 #1
"med et stort antal linier "
How many rows are we talking about?

Isnt it because the listbox isnt fully populated until you have reached the bottem?
Avatar billede terry Ekspert
14. april 2010 - 09:07 #2
Any chance of seeing an example of the dB with data?
14. april 2010 - 10:31 #3
Yes - I zipped it, 212kb - Access2007 ok?  - should I email it?  To the email adrers on the site to which the link in your profile leads?
Avatar billede terry Ekspert
14. april 2010 - 12:14 #4
Yes 2007 is fine and the email addr. too.
Avatar billede terry Ekspert
14. april 2010 - 15:34 #5
Here's a solution which seems to work

Put the code in the forms On Load event

Me.lstPersoonZoeken.Selected(Me.lstPersoonZoeken.ListCount - 1) = True
Me.lstPersoonZoeken.Selected(0) = True
14. april 2010 - 16:59 #6
And it even works!  'Svar' please.

One problem is that the first and the last item on the list stay selected.  If the user later selects ten persons to print out the user gets a print-out of twelve.  I therefore modified the code to

Me.lstPersoonZoeken.Selected(Me.lstPersoonZoeken.ListCount - 1) = True
Me.lstPersoonZoeken.Selected(Me.lstPersoonZoeken.ListCount - 1) = False

The trick to activate the scrollbar seems to be to select the last item.  Thereafter selecting the first item seems not to be necessary.

Thanks for your help once more.  I have the feeling that it shall not be the last time.
Avatar billede terry Ekspert
14. april 2010 - 17:08 #7
I hadnt realised that the last one was still selected. I had thought that by selecting the last row it would be visible in the listbox and thats why I also selected the first to move back. Hadnt done much testing though, so good you did :o)

Silly that a work-around is necessary though, even if all of the data isnt read into memory you would think the scroll would work normally.

Nice that Microsoft can make errors too :o)
Avatar billede terry Ekspert
14. april 2010 - 17:16 #8
Thanks
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