ik heb een stukje code geschreven waarbij in een array met plm 3000 velden gezocht wordt.
De zoekfunktie is gelijk aan het zoeken met de J in winamp. Tik je een letter a in, dan worden alle gevonden waarden met een a in een tekstbox weergegeven. indien de zoekwaarde wordt aangepast dan wordt de zoekfunktie meteen aangepast. Het werkt erg mooi, alleen de eerste zoekactie is erg traag (als je de eerste letter intikt) Daarna gaat het erg snel.
Ik verwacht dan ook dat het zoeken niet de bottlenek is, maar het vullen van de textbox FrmZoek.TbUitvoer.
Weet iemand iets om e.e.a. te versnellen?
De zoekfunktie is gelijk aan het zoeken met de J in winamp. Tik je een letter a in, dan worden alle gevonden waarden met een a in een tekstbox weergegeven. indien de zoekwaarde wordt aangepast dan wordt de zoekfunktie meteen aangepast. Het werkt erg mooi, alleen de eerste zoekactie is erg traag (als je de eerste letter intikt) Daarna gaat het erg snel.
Ik verwacht dan ook dat het zoeken niet de bottlenek is, maar het vullen van de textbox FrmZoek.TbUitvoer.
Weet iemand iets om e.e.a. te versnellen?
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| Sub Find(sZoekWaarde As String) Dim nRij As Integer Dim nPos As Integer 'positie Dim nLzw As Integer 'lengte zoekwaarde FrmZoek.TbUitvoer.Value = Empty If sZoekWaarde = Empty Then Exit Sub nLzw = Len(sZoekWaarde) For nRij = 0 To 3000 For nPos = 1 To Len(klantArray(nRij)) If LCase(Mid(klantArray(nRij), nPos, nLzw)) = LCase(sZoekWaarde) Then FrmZoek.TbUitvoer.Value = FrmZoek.TbUitvoer.Value & vbCr & klantArray(nRij) Exit For End If Next nPos Next nRij End Sub |