Zoek in meerdere velden na openen formulier.

Status
Niet open voor verdere reacties.

RadboudAKF

Gebruiker
Lid geworden
3 nov 2010
Berichten
219
Ik heb een vraag over een VBA-code bij het zoeken in een formulier.

Ik heb een formulier met veel velden. Ik zou willen dat ik een knop kan maken die de mogelijkheid geeft om in (delen) van meerdere velden tegelijkertijd te zoek. Het gaat hier om medecijnen. Het formulier verwijst naar een tabel waar ong. 80000 records inzitten.

Als ik het formulier open dan wordt het eerste record getoond. Als ik dan op een knop druk dan wil ik bijvoorbeeld:

zoeken: in (een deel van) het veld [STOFNAAM], en/of in (een deel van) het veld [ETIKETNAAM] en/of in (een deel van) het veld [HANDELSPRODUCT].

Ik heb geprobeerd een VBA-code te schrijven die dit doet...maar het lukt mij niet om hem werkend te krijgen. (vooral het en/of-principe maakt het m.i. lastig.)

Kan iemand mij met een simpel voorbeeld op pad helpen?

Voorbeeld: ik wil zoeken naar de STOFNAAM: [Paracetamolum] en in een deel van de etiketnaam met "50mg" en in de 'handelsproductnaam' Tablet


Stofnaam: PARACETAMOL
Etiketnaam: Paracetamol tablet 50mg
Handelsproductnaam: PARACETAMOL SAN TABL 500MG PYNST/KOORTSVERLAGEND

Ik hoop dat ik helder ben in de vraagstelling. Ik wil dus niet met keuzelijsten werken maar met een paar zoektermen (bv. met een spatie tussen de zoektermen) zoveel mogelijk uit de 80000 records filteren.

Groet,

Jan
Nijmegen
 
Hoi,
In accss heb ik niet direct een oplossing maar via visual studio ben ik eventjes bezig , maar heb nog geen waterdichte oplossing Leuk projectje:)
 
Goedenavond,

Ik heb zoiets in het verleden al eens gemaakt.

Maak op je formulier een onafhankelijk tekstveld, in mijn code heet dit veld txt_nummer.
Mijn formulier heet frm_zoeken.
De velden waarin gezocht wordt heten achtereenvolgens: SERL01, Motornummer en MNUM01.
Je moet dan OR gebruiken om in alle 3 velden te zoeken.
In de AfterUpdate van het tekstveld zet je dan een vergelijke bare code of open je een formulier met de RecordSource van deze code of wat je maar anders wilt.

Code:
SELECT Machinekaart.Merk, Machinekaart.PDES35, Machinekaart.SERL01, Machinekaart.VCAT01, Machinekaart.Zoeknaam, Machinekaart.Naam, Machinekaart.[Plaats adres], Machinekaart.Typecode, Machinekaart.Motornummer, Machinekaart.MNUM01, Machinekaart.SLDT01, Machinekaart.FDAT01, Machinekaart.ENAM03, Machinekaart.EAD303, Machinekaart.TNUM01
FROM Machinekaart LEFT JOIN DEALER ON Machinekaart.Zoeknaam = DEALER.Zoeknaam
WHERE (((Machinekaart.SERL01) Like "*" & [forms]![frm_zoeken]![txt_nummer] & "*")) OR (((Machinekaart.Motornummer) Like "*" & [forms]![frm_zoeken]![txt_nummer] & "*")) OR (((Machinekaart.MNUM01) Like "*" & [forms]![frm_zoeken]![txt_nummer] & "*"));

Hopelijk heb je hier iets aan.

Succes

Gr. Jan
 
jhdw (jan) ... ga dit uitproberen vandaag. Vraag me wel af of ik in mijn formulier dat hele 'select statement' nodig heb.

Groet,

Jan
 
Doet het ingebouwde formulierfilter in Access niet gewoon wat jij wilt? :confused:
 
Ik heb inmiddels opgelost wat mij eerst een probleem leek... Ik kan nu op (delen van) meerdere velden zoeken (bij het openen van het formulier) en daarna filteren wat ik wil.

Dank voor het meedenken...

Jan
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan