• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Zoeken in database

Status
Niet open voor verdere reacties.

wacco

Gebruiker
Lid geworden
9 mrt 2006
Berichten
229
Hallo,

Ik ben van plan een kleine database op te zetten, en wilde gebruik maken van een (lang geleden) gevonden bestandje.
Waar ik het ooit gevonden heb, en wie het heeft gemaakt, weet ik niet meer.
In dit bestandje zit een aardige zoek functie, welke ik goed kan toepassen.
Echter dit zoeken is beperkt tot 9 kolommen, terwijl mijn opzet waarschijnlijk over 20 kolommen zal gaan.
Ik krijg het maar niet voor elkaar, om het zoeken verder te krijgen dan die 9 kolommen.
Als in de VBA code een groter getal dan 9 wordt ingevoerd ( filter 10, filter 11, enz.) gaat het fout.
Als je dus extra kolommen toevoegt in het bestand, dan kan op deze kolommen geen zoek actie worden uitgevoerd.
Ik kan maar niet ontdekken waar het fout gaat

Hier de gebruikte code :
Code:
Private Sub TextBox1_Change()
    filter 2
End Sub
Private Sub TextBox2_Change()
    filter 3
End Sub
Private Sub TextBox3_Change()
    filter 4
End Sub
Private Sub TextBox4_Change()
    filter 5
End Sub
Private Sub TextBox5_Change()
    filter 6
End Sub
Private Sub TextBox6_Change()
    filter 7
End Sub
Private Sub TextBox7_Change()
    filter 8
End Sub
Private Sub TextBox8_Change()
    filter 9
End Sub
Private Sub filter(x)
    Sheets("Adressen").AutoFilterMode = False
    Sheets("Adressen").Cells(5, 1).CurrentRegion.Columns(x).AutoFilter 1, OLEObjects("Textbox" & x - 1).Object.Text & "*"
End Sub

Ik hoop dat iemand mij duidelijk kan maken, wat het probleem veroorzaakt van deze beperking.
En misschien dat iemand herkent, wie dit ooit heeft gemaakt.....zodat ik de juiste credits bij mijn eigen bestandje kan zetten.

Origenel bestandje is bijgevoegd :

M.v.g
 

Bijlagen

  • snelzoeken.xls
    75,5 KB · Weergaven: 37
Zie bijlage: 1 kolom gegevens toegevoegd, 1 tekstbox toegevoegd, 1 Private Sub toegevoegd.
 

Bijlagen

  • Snelzoeken2.xlsm
    45,3 KB · Weergaven: 71
Beste Wher,
Bedankt voor je snelle reactie.
Ik kom er zojuist achter, waarom het soms niet goed gaat.
Als de filter nummers en textbox nummers niet op volgend zijn gaat het mis.
Al bestaat het texbox nummer niet, dan moet hij toch vernoemd worden in de lijst, hetzelfde geld voor het filter nummer.
Maar waarom dit zo moet zijn........???....geen idee.
Misschien weet jij mij te vertellen waarom dit zo moet zijn.

Mv.g.

Btw,
Weet jij ook toevallig wie dit stukje code heeft gemaakt?
 
CurrentRegion.Columns(x).AutoFilter 1, OLEObjects("Textbox" & x - 1).Object.Text
"x" wordt gebruikt voor zowel het kolomnummer als de Textbox naam, en kolomnummers zijn nu eenmaal netjes oplopend, dus de Textbox namen moeten dit schema volgen.
 
Bedankt.
Probleem(pje) is opgelost, en uitleg is duidelijk.
Zet de vraag op opgelost
 
Probleem leek opgelost, tot dat ik op getallen wilde filteren.
Dit gaat niet, ik krijg enkel lege rijen te zien.
Wat moet aan de onderstaande regel worden veranderd of toegevoegd, om ook op getallen te filteren .
Code:
Private Sub filter(x)
    Sheets("Adressen").AutoFilterMode = False
    Sheets("Adressen").Cells(5, 1).CurrentRegion.Columns(x).AutoFilter 1, OLEObjects("Textbox" & x - 1).Object.Text & "*"

M.v.g.
 
Op getallen filteren (bijvoorbeeld kolom I, "zipcode") werkt bij mij probleemloos in het bestand uit post 2.
Heb je reeds gecontroleerd of je "getallen" wel echt getallen zijn, met de functie Isnumber(...) bijvoorbeeld.
 
Volgens mij staat kolom I ingesteld op tekst.
Vandaar dat deze wel filtert.
Als deze kolom ingesteld wordt op getal, werkt de filtering niet meer, en dat is juist het probleem waar ik tegen aan loop.
Mijn kolommen moeten op getal blijven staan, omdat met deze getallen berekeningen uitgevoerd gaan worden.
Maar ik krijg het maar niet voor elkaar om de filtering op getallen te laten gebeuren.

Hopelijk weet iemand welke aanpassing er moet gebeuren, om de filtering zowel op tekst als op getallen te laten gebeuren.

M.v.g
 
Laatst bewerkt:
Wieter bedankt voor de snelle reactie.
Ik ben ook begonnen om voor de kolommen waar de filter actie niet werkt, aparte filters op te maken (precies zoals jij hebt gedaan).
Ik laat echter de kolommen, waar het filter wel werkte intact....maar misschien om het geheel overzichtelijker te maken, dat ik voor elke kolom (net als jij) een eigen filter aanmaak.
Maar waarom het anders niet werkt,......heb ik net als jij geen idee.
Het werkt nu wel, maar ik zou graag weten waarom de eerste opzet niet goed werkt.
Misschien dat iemand een idee heeft ??

M.v.g
 
Laatst bewerkt:
@Wacco: nodeloos berichten herhalen/quooten waar je op reageert is a) nogal zinloos (berichtje staat er voor iedereen prima leesbaar boven) en b) maakt draadjes nodeloos lang, waardoor lezers nodeloos moeten scrollen. Tenzij je super ergonomische muizen verkoopt, lijkt mij daar geen enkele noodzaak voor. Graag dus de quoots verwijderen. Je kunt ook met het @ teken aan een poster referen (@wacco dus...)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan