Ik laat in Access normaliter een listbox vullen met gegevens met een rowsource ("Select * from etcetc")
In dit geval echter zou ik graag een zoekfunctie willen maken die zoekt in de waarden die het resultaat zijn van de vorige zoekactie, m.a.w.:
Ik heb eerst 1000 records, een zoekactie levert er 50 op, nu wil ik dat de zoekfunctie zoekt in die 50 records, tweede zoekactie levert 10 van de 50 op etc etc
Ik dacht dat het wel handig zou zijn hiervoor gebruik te maken van de listbox.recordset. Ik kan dan namelijk de huidige recordset van de listbox toewijzen aan een nieuwe recordset, hierin filteren, de nieuwe recordset toewijzen aan de listbox, en zo weer opnieuw
Dit werkt ook, maar het probleem is dat ik de gegevens in de listbox niet meer ververst krijg. Volgens msndn zou je een recordset van een listbox moeten kunnen verversen met
Maar dit doet niks.
Op de een of andere manier raakt de recordset die gebaseerd is op de recordset van de listbox de verbinding kwijt...
Het grappige is, zelfs wanneer ik bij het openen van het scherm (listbox is dan nog gebaseerd op een SQL rowsource met alle resultaten) daarna meteen bovenstaande "refresh" toepas daarna direct al geen recordwijzigingen meer zichtbaar zijn in de listbox
edit: foute info gegeven: https://msdn.microsoft.co...rary/office/ff836245.aspx
Er wordt helemaal niet aangegeven hoe je een listbox.recordset kunt verversen, het gaat (bij de "note") ineens over een form met een recordset.
In dit geval echter zou ik graag een zoekfunctie willen maken die zoekt in de waarden die het resultaat zijn van de vorige zoekactie, m.a.w.:
Ik heb eerst 1000 records, een zoekactie levert er 50 op, nu wil ik dat de zoekfunctie zoekt in die 50 records, tweede zoekactie levert 10 van de 50 op etc etc
Ik dacht dat het wel handig zou zijn hiervoor gebruik te maken van de listbox.recordset. Ik kan dan namelijk de huidige recordset van de listbox toewijzen aan een nieuwe recordset, hierin filteren, de nieuwe recordset toewijzen aan de listbox, en zo weer opnieuw
Dit werkt ook, maar het probleem is dat ik de gegevens in de listbox niet meer ververst krijg. Volgens msndn zou je een recordset van een listbox moeten kunnen verversen met
code:
1
| set me.lstObjects.recordset = me.lstObjects.recordset.openrecordset |
Maar dit doet niks.
Op de een of andere manier raakt de recordset die gebaseerd is op de recordset van de listbox de verbinding kwijt...
Het grappige is, zelfs wanneer ik bij het openen van het scherm (listbox is dan nog gebaseerd op een SQL rowsource met alle resultaten) daarna meteen bovenstaande "refresh" toepas daarna direct al geen recordwijzigingen meer zichtbaar zijn in de listbox
edit: foute info gegeven: https://msdn.microsoft.co...rary/office/ff836245.aspx
Er wordt helemaal niet aangegeven hoe je een listbox.recordset kunt verversen, het gaat (bij de "note") ineens over een form met een recordset.
[ Voor 18% gewijzigd door Stefke op 04-04-2016 15:50 ]