B
bjpattis
I have a setup that populates a list on a Form based on what record is
chosen. The list is populated by a VBA Sub. This function normally works
well, however, when scrolling very rapidly through records (which the mouse
wheel) what will happen is it will eventually stop, populate a list (code
which takes several seconds to execute), then automatically start pulling up
the next record, fill list, next record, fill list, etc etc. Note that this
only happens when scrolling quickly through records (more than 10 records per
second)... the code is set up to try to avoid this, and it does when
scrolling through at a slightly slower rate (less than ~10 records per
second).
What is happening (I believe) is when records are called so quickly they get
put on a queue, so the code never gets a chance to realize there is a new
call. Is there any way in VBA to clear the record calling queue? Or another
solution would be calling the Sub to fill the list differently, though I
don't know how (currently it is called in the Sub Form_Current()
chosen. The list is populated by a VBA Sub. This function normally works
well, however, when scrolling very rapidly through records (which the mouse
wheel) what will happen is it will eventually stop, populate a list (code
which takes several seconds to execute), then automatically start pulling up
the next record, fill list, next record, fill list, etc etc. Note that this
only happens when scrolling quickly through records (more than 10 records per
second)... the code is set up to try to avoid this, and it does when
scrolling through at a slightly slower rate (less than ~10 records per
second).
What is happening (I believe) is when records are called so quickly they get
put on a queue, so the code never gets a chance to realize there is a new
call. Is there any way in VBA to clear the record calling queue? Or another
solution would be calling the Sub to fill the list differently, though I
don't know how (currently it is called in the Sub Form_Current()