Toon posts:

[Acces/SQL] zoeken met beperkte wildcards

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zit met een probleem bij het doorzoeken van een tabel.
Het gaat om het volgende:
ik wil de records waarbij het veld omschr de string "ek" bevat.
dus
code:
1
select * from tabel where omschr like "*ek*";


Maar ik wil niet de records met 'direkt' of 'boek' of (nog een lijst worden die de letter combinatie "ek" bevatten).
Ik krijg dus teveel records terug.

Dus
code:
1
select * from tabel where omschr like "* ek *" or omschr like "ek *" or omschr like "* ek";


geeft een beter resultaat, het nadeel is dat je nu dat ik te weinig records terug krijg. bijv wanneer de inhoud van het veld "Ik ga naar het ek, want dat vind ik leuk" is, dan krijg ik dit record niet terug hetzelfde geld voor "ek," en ",ek" etc.
Je ziet het probleem denk wel.

Wat ik wil is dus eigenlijk zoiets:
code:
1
select * from tabel where omschr like [.,;'" ](1) + "ek" + [.,;'" ](1)

waarbij het karakter voor "ek" 1 van de karakters is die tussen de blokhaken staan en achter "ek" moet dan dus ook 1 van die staan.

Is dit mogelijk in acces of zal ik het moeten uitschrijven met elk karakter wat tussen de blokhaken staat. Wat dus neerkomt op 6 * 6 = 36 mogelijkheden.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-05 21:24

NMe

Quia Ego Sic Dico.

Ik denk dat er niet veel anders op zit dan het uitschrijven. Regular expressions kunnen in ieder geval niet in de DBMSen die ik geprobeerd heb, voor zover ik weet.

Overigens vergeet je dingen als ... mee te tellen. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.