Records realtime zoeken

Status
Niet open voor verdere reacties.
Ik zie geen formulier waarin je wilt zoeken. Wat is je bedoeling, en waar is jouw zoekformulier?
 
Ik zie geen formulier waarin je wilt zoeken. Wat is je bedoeling, en waar is jouw zoekformulier?

Beste Octafish,

Ik zal even wat achtergrond informatie geven:

Ik heb een bedrijfje waarvoor ik nu de voorraad bijhou m.b.v. een excel bestandje.
Echter wordt het aantal artikelen wel erg groot, en wil ik alle gegevens graag in access zetten.

Wat mijn idee was is dus een formulier om artikelen toe te voegen en te verwijderd/wijzigen. Een tabel waarin alle artikelen staan, en om bovenin die tabel 3 zoekwaardes te zetten dus zoeken op :
merk , type,onderdeel etc.
Zodra ik bij merk P invul , wil ik dat hij alle records met een P laat zien , Als ik dan Bij type A invul , wil ik dat hij alle recordes laat zien met merk p , en type A etc. Dit heb ik in mijn excel gedaan m.b.v een vba code. Precies zoals hier dus gedaan wordt met de voorbeeld database multizoek.

Ik kom er alleen dus niet achter hoe ik zoiets ook in mijn testdatabase kan maken.

Hoop dat het zo wat duidelijker is?
 
Op zich was je vraag wel duidelijk, maar in je voorbeeldje heb je blijkbaar nog niks gemaakt om het voorbeeld na te maken. Overigens zou ik je die weg niet eens aanraden, omdat je veel te beperkt bent met de filtering. Zelf gebruik ik een functie om te filteren. Omdat ik je vraag wel snapte, ben ik dat nu wat aan het verfijnen, met extra opties. Maar het zou wel handig zijn geweest als je een voorbeeldje had meegeleverd van wat je voor ogen hebt ;)
 
http://www.datapigtechnologies.com/flashfiles/searchform.html

Dit filmpje heb ik geprobeerd , heb de stappen gevolgd , maar het werkt bij mij niet. Ik weet zeker dat ik alles correct heb gedaan, maar hij geeft steeds popups waar ik dan alles weer moet invullen en bij foutopsporing is dit gedeelte geel gemarkeerd: DoCmd.OpenQuery "main", acViewNormal
 
Laatst bewerkt:
Op zich was je vraag wel duidelijk, maar in je voorbeeldje heb je blijkbaar nog niks gemaakt om het voorbeeld na te maken. Overigens zou ik je die weg niet eens aanraden, omdat je veel te beperkt bent met de filtering. Zelf gebruik ik een functie om te filteren. Omdat ik je vraag wel snapte, ben ik dat nu wat aan het verfijnen, met extra opties. Maar het zou wel handig zijn geweest als je een voorbeeldje had meegeleverd van wat je voor ogen hebt ;)


Thnx! Ben nog totaal geen held in access vandaar dat mijn voorbeeld wat schraal is:o
 
De foutmelding die je krijgt zou kunnen omdat je geen query hebt die Main heet. Check dus die naam, en verander hem eventueel in de code. Verder werkt het voorbeeld alleen als je het formulier open hebt staan, want de query maakt gebruik van de selecties van het formulier. Sluit je het formulier, en open je de query, dan krijg je de popups.
 
Het lukt mij zo snel niet om in jouw voorbeeldje een filterformulier te maken; dat komt doordat ik zowel 2003 als 2010 tegelijk gebruik, waardoor ofwel de een, danwel de ander niet jofel draait. Vandaag heeft 2003 de troefkaart.... Dat komt omdat ik het voorbeeld in 2003 heb gemaakt, en daarin heb bewerkt. Maar je kunt hem hopelijk wel openen en gebruiken....

Laat je niet gelijk afschrikken door de (best wel) ingewikkelde code die er in staat; het formulier is zodanig gemaakt dat je alles vrij simpel kunt overnemen in je eigen formulier. Er zijn (uiteraard) wel een paar voorwaarden....
1. Elk tekstvak dat je wilt gebruiken om te filteren, moet een naam hebben die begint met "txtFilter" + een nummer. Dus txtFilter1 en txtFilter2 zijn prima namen.
2. Elke keuzelijst met invoervak die je wilt gebruiken om te filteren, moet een naam hebben die begint met "cboFilter" + een nummer. Dus cboFilter1 en cboFilter2 zijn weer prima.
3. Elke keuzelijst die je wilt gebruiken om te filteren, moet een naam hebben die begint met "lstFilter" + een nummer. Dus lstFilter1 en lstFilter2 zijn ook prima.
4. Met keuzelijsten kun je meerdere waarden selecteren. Die optie wordt ook gebruikt in de code, dus die optie moet wel goed zijn ingesteld. dat doe je op het tabblad <Overige> van de eigenschappen van de keuzelijst. Hier moet de optie <Meervoudige selectie> op Enkelvoudig of Uitgebreid staan.

Elke zoeklijst maakt gebruik van dezelfde manier om aan te geven op welk veld de zoeklijst moet filteren. En wel de eigenschap <Extra Info> of in het engels:<Tag>.
Als je dus met een tekstvak automerken wilt filteren, maak je een tekstvak aan met de naam txtFilter1, en typ je bij <Extra Info>: Merk.
De filtering zou dan al moeten werken.

Bestudeer het voorbeeld, en kijk wat je nog meer nodig hebt. Bijvoorbeeld de knop om de filtering weer te verwijderen.
Ik zal ondertussen nog proberen om jouw voorbeeldje in elkaar te flansen.
 

Bijlagen

Het lukt mij zo snel niet om in jouw voorbeeldje een filterformulier te maken; dat komt doordat ik zowel 2003 als 2010 tegelijk gebruik, waardoor ofwel de een, danwel de ander niet jofel draait. Vandaag heeft 2003 de troefkaart.... Dat komt omdat ik het voorbeeld in 2003 heb gemaakt, en daarin heb bewerkt. Maar je kunt hem hopelijk wel openen en gebruiken....

Laat je niet gelijk afschrikken door de (best wel) ingewikkelde code die er in staat; het formulier is zodanig gemaakt dat je alles vrij simpel kunt overnemen in je eigen formulier. Er zijn (uiteraard) wel een paar voorwaarden....
1. Elk tekstvak dat je wilt gebruiken om te filteren, moet een naam hebben die begint met "txtFilter" + een nummer. Dus txtFilter1 en txtFilter2 zijn prima namen.
2. Elke keuzelijst met invoervak die je wilt gebruiken om te filteren, moet een naam hebben die begint met "cboFilter" + een nummer. Dus cboFilter1 en cboFilter2 zijn weer prima.
3. Elke keuzelijst die je wilt gebruiken om te filteren, moet een naam hebben die begint met "lstFilter" + een nummer. Dus lstFilter1 en lstFilter2 zijn ook prima.
4. Met keuzelijsten kun je meerdere waarden selecteren. Die optie wordt ook gebruikt in de code, dus die optie moet wel goed zijn ingesteld. dat doe je op het tabblad <Overige> van de eigenschappen van de keuzelijst. Hier moet de optie <Meervoudige selectie> op Enkelvoudig of Uitgebreid staan.

Elke zoeklijst maakt gebruik van dezelfde manier om aan te geven op welk veld de zoeklijst moet filteren. En wel de eigenschap <Extra Info> of in het engels:<Tag>.
Als je dus met een tekstvak automerken wilt filteren, maak je een tekstvak aan met de naam txtFilter1, en typ je bij <Extra Info>: Merk.
De filtering zou dan al moeten werken.

Bestudeer het voorbeeld, en kijk wat je nog meer nodig hebt. Bijvoorbeeld de knop om de filtering weer te verwijderen.
Ik zal ondertussen nog proberen om jouw voorbeeldje in elkaar te flansen.

Hartstikke bedankt! Ga er morgen meteen mee aan de slag :thumb:.


Ik ben in principe redelijk thuis in VBA alleen totaal (nog) niet in access.

De naam van de query zijn wel gelijk dat is het rare, dat openstaan heb ik nog niet geprobeerd dat zal het wel zijn!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan