Met een keuzelijst zoeken in twee vakken

Status
Niet open voor verdere reacties.

Gewoonuser

Gebruiker
Lid geworden
5 mrt 2007
Berichten
11
Forummers,
Ik wil met een keuzelijst in twee of meerdere vakken zoeken. Als voorbeeld geef ik jullie een receptenbestand (waarin recepten op verschillende soorten onderdelen te zoeken zijn zoals keuken, type, genre). Een recept heeft bijvoorbeeld meer genres, dus heb ik daarom meer vakjes met genres aangemaakt bijvoorbeeld: Genre, Genre2 en Genre3. Zoals je ziet staat deze zin "strqry = genre" voor zoeken in dit vak (denk ik) ik heb veel expressies gebruikt zoals &, AND, OR e.d. maar het heeft allemaal niet geholpen. Wat moet ik doen om dit correct te laten functioneren.
 
je moet je om te beginnen eens afvragen wat er gebeurd als er een genre bijkomt. als je dat probleem niet hebt (en laten we daar maar vanuit gaan) dan ben je volgens mij aardig op weg.

Je kan de volgende query maken:
Code:
Select ReceptID from Recept where genre1 = 'aap' and genre2 = 'noot'
Je hele where clause kan je aan elkaar plakken tot je hebt wat je wilt. Ik denk dat het probleem is dat je niet weet of 'noot' ook in genre1 voor kan komen. Dan wordt het knap omslachtig.
Code:
Select ReceptID from Recept where genre1 in ('aap', 'noot', ...) and genre2 in ('noot', 'aap',...)
Als je echter een tabel (ReceptGenre) erbij maakt met de velden ReceptID en Genre. Dan ben je klaar. Alle genres kunnen nu uit de eerste tabel worden verwijderd.
Je krijgt nu de volgende query:
Code:
Select a.ReceptID from Recept a inner join ReceptGenre b on a.ReceptID = b.ReceptID
where b.Genre in ('aap', 'noot', ...)

Enjoy
 
Als hier een vraag in verborgen zit dan hoor ik het wel!
 
Hallo guus

Het gaat om dit bestand. Het is te downloaden van dit adres.
...

Stel ik heb daar naast genre ook genre2 en genre3 staan en ook klasse2 en klasse3 staan. Hoe kun je zoeken in het zoekformulier in de 3 vakken (genre, genre2 en genre3) of (klasse, klasse2 en klasse3) met een keuzelijst. De vba code is heel wat anders dan dat jij het hier zo voorlegt.
 
Laatst bewerkt:
Ik zou het anders oplossen:
Je wilt kunnen zoeken op genre maar ook op klasse. Net als mijn eerste voorstel zou ik ook klasse ook onderbrengen in een andere tabel (als een recept tenminste ook in andere klassen in kan worden gedeeld. Verder zou ik de recepten een unieke ID meegeven. Zo kan je daaraan refereren in je Klasse en Genre tabel.
Verder zou ik in je recepten tabel een veld "keywords" opnemen waarin je bijvoorbeeld "VIS, COUSCOUS" zet zodat je daarop kan zoeken.
Code:
SELECT * FROM tRecept WHERE Keywords like '*COUSCOUS*"

Ziet er verder leuk uit. Mooie layout.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan