Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Opzoeken met een userform.  (gelezen 3584 keer)

0 leden en 1 gast bekijken dit topic.

Offline Moo

  • Ambassadeur
  • *****
  • Berichten: 1.165
  • Geslacht: Man
  • Waar het hart van vol is, loopt de tekst van over.
Opzoeken met een userform.
« Gepost op: 01 februari 2008, 20:40:33 »
Ik heb een probleem om namen op te zoeken met een userform. Het doet zich voor als twee dezelfde namen voorkomen. Hierbij een testvoorbeeldje.
Bij de zoekopdracht  "aaa"  worden alle zoekmogelijkheden afwisselend getoond in de textboxen, dit bij een herhaalde klik op de knop "opzoeken".  Als het zoekwoord twee keer voorkomt, dan gebeurt dat niet (zoals bij "bb")
Het is dus de bedoeling om alle zoekmogelijkheden de revue te laten aflopen, ook als de naam twee keer voorkomt.
U vult in het voorbeeldje eerst “aaa” in en klikt een paar keer op “opzoeken”.  Let daarbij op de veranderingen in de tekstboxen. Doe dit dan ook met de zoekopdracht “bb”.         
ASRock P43 Pro/USB3, Intel 2 Quad cpu Q9550 2.83GHz, 2840 MHz, NVIDIA GeForce GTS 450, Win7 oem 64bit pre NL, Realtek, HD:1tb, 4 Gb DDR3, KIS, Firefox, Ms-Outlook 2007, Telenet

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.284
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Opzoeken met een userform.
« Reactie #1 Gepost op: 01 februari 2008, 22:10:48 »
Moo, Je bent volgens mij lekker leergierig... Prima!
Ik heb de 'fout' in je code gevonden (en verder nog wat dingetjes toegevoegd én verwijderd).
Wat wil je? Een tip om het zelf óók te vinden? Of wil je mijn uitgewerkte versie?

De tip krijg je alvast.  ;D ;)  Kijk je 3 functies 'ns na, daarin zit het probleem. Let goed op WAT je de code daar PRECIES laat doen.

Succes met nakijken.

Groet, Leo

(dit in het kader van: 'ik kan je brood geven, maar ik kan je óók leren hoe je zelf brood kan maken... ;))
______________________________

Groet, Leo

Offline Moo

  • Ambassadeur
  • *****
  • Berichten: 1.165
  • Geslacht: Man
  • Waar het hart van vol is, loopt de tekst van over.
Re: Opzoeken met een userform.
« Reactie #2 Gepost op: 02 februari 2008, 10:25:44 »
Ik zie het dus echt niet  ???
In de functie staat haast niets in, kolomA > dezelfde rij > de zoveelste plaats.
De "if" mag misschien weg, maar kan ook geen kwaad, denk ik.
Sorry, ik kom er niet uit.
ASRock P43 Pro/USB3, Intel 2 Quad cpu Q9550 2.83GHz, 2840 MHz, NVIDIA GeForce GTS 450, Win7 oem 64bit pre NL, Realtek, HD:1tb, 4 Gb DDR3, KIS, Firefox, Ms-Outlook 2007, Telenet

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.284
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Opzoeken met een userform.
« Reactie #3 Gepost op: 02 februari 2008, 10:51:08 »
Citaat van: Moo
Sorry, ik kom er niet uit
Moo, dan help ik je gewoon weer verder. Je doet namelijk in je (overbodige) functies weer een find. Deze zoekt dus naar de 1e 'bb' en zal dus weer terugkomen met de data die je al hebt. Zelfs al heb je met je 1e zoektocht de volgende 'bb' al geselecteerd.

Wat heb ik in mijn bestandje voor je veranderd.
  • Ik heb de functies verwijderd. Die zijn in dit geval totaal overbodig (wel leuk voor de oefening). Maar als je het wel wilt... probeer dan een functie flexibel te maken. Dus 3 (bijna gelijke) functies is sowieso niet de bedoeling.
  • Het steeds aanpassen van je tekstbox waar je je zoekopdracht hebt staan, lijkt MIJ zeer onwenselijk (is dus verdwenen).
  • Het zoeken is flexibel gemaakt. Je kan dmv een checkbox aangeven of je het preciese woord wilt zoeken of op onderdelen.
  • Een kleine foutafhandeling indien er iets gezocht wordt dat niet bestaat.
  • Op de bovenste regel van je code heb ik de opdracht 'Option Explicit' geschreven. Dit voorkomt dat je niet gedeclareerde variabelen in je code laat staan. Dit wat het geval bij de procedure 'initialize'. Daar stond 'tekstbox' terwijl het toch echt 'textbox' moest zijn. Je kan je helemaal gek zoeken met dit soort foutjes als je code andere dingen doet dan je verwacht
Als bijlage jouw door mij aangepaste bestandje. Kijk maar 'ns of je hier weer mee verder komt.

Groet, Leo
______________________________

Groet, Leo

Offline Moo

  • Ambassadeur
  • *****
  • Berichten: 1.165
  • Geslacht: Man
  • Waar het hart van vol is, loopt de tekst van over.
Re: Opzoeken met een userform.
« Reactie #4 Gepost op: 02 februari 2008, 12:48:14 »
Met "Option Explicit" heb ik een melding " Een variabele is niet gedefinieerd", dit bij gebruik van mijn andere code.
F1 :
U hebt een instructie Option Explicit gebruikt voor de expliciete declaratie van variabelen, maar u hebt daarbij een variabele gebruikt zonder deze te declareren.
Declareer de variabele expliciet of wijzig de spelling van de variabele, zodat deze overeenkomt met die van de bedoelde variabele.
Ik kan deze weglaten, het werkt dan ook. Wat doet dat ding?

LEEOOO!!! (iedereen komt als ge leo roept  ;D )
ASRock P43 Pro/USB3, Intel 2 Quad cpu Q9550 2.83GHz, 2840 MHz, NVIDIA GeForce GTS 450, Win7 oem 64bit pre NL, Realtek, HD:1tb, 4 Gb DDR3, KIS, Firefox, Ms-Outlook 2007, Telenet

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.284
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Opzoeken met een userform.
« Reactie #5 Gepost op: 02 februari 2008, 12:59:16 »
Heu... werd ik daar geroepen???  ;D ;D ;D

Moo, De 'Option Explicit' is een soort 'agent' van je code. Deze kijkt of je variabelen declareert (dus van het jusite data-type) en of je vervolgens in je code de juiste benamingen van deze variabele blijft hanteren.
Het voorbeeldje dat ik aangaf in mijn post hierboven is er zo een. Het 'object' heet 'textbox' maar je schrijft het perongeluk in het nederlands (dus als tekstbox). De Option Explicit houdt dat dus voor je in de gaten.

Wat vond je van de aanpassingen?

Groet, Leo
______________________________

Groet, Leo

Offline Moo

  • Ambassadeur
  • *****
  • Berichten: 1.165
  • Geslacht: Man
  • Waar het hart van vol is, loopt de tekst van over.
Re: Opzoeken met een userform.
« Reactie #6 Gepost op: 02 februari 2008, 13:48:39 »
Sorry, rats vergeten. Dat scheelt een pak code en werkt zoals steeds..goed en ik heb er ook nog wat van opgestoken. Waarvoor dank. Als ONS kunstwerk af is, wil ik het wel eens doorsturen.
ASRock P43 Pro/USB3, Intel 2 Quad cpu Q9550 2.83GHz, 2840 MHz, NVIDIA GeForce GTS 450, Win7 oem 64bit pre NL, Realtek, HD:1tb, 4 Gb DDR3, KIS, Firefox, Ms-Outlook 2007, Telenet

 


www.combell.com