Avatar billede weiland Nybegynder
26. maj 2003 - 13:19 Der er 2 kommentarer og
1 løsning

trunkering eller ej af søgeord

Ved at opbygge SQL-strengen på denne måde, finder man alle titler, der indeholder søgeordet

For n = LBound(soegeterm) To UBound(soegeterm)   
  SQL = SQL & "(Titel1 LIKE '%"& soegeterm(n) &"%')"
  SQL = SQL & " OR (Titel2 LIKE '%"& soegeterm(n) &"%')"
Next

- men det er jeg ikke interesseret i: Jeg vil KUN finde de titler, som nøjagtigt matcher søgeordet.
Jeg har prøvet med ekstra mellemrum før og efter %-tegnet:

"(Titel1 LIKE '% "& soegeterm(n) &" %')"

- men så får jeg problemer, hvis søgeordet er det sidste ord i titlen.
Altså: hvis titlen er "En god bog", så fanger søgningen den ikke, hvis man søger efter "bog", men derimod, hvis man søger efter "god".

Hvordan overkommer man det problem?
Avatar billede weiland Nybegynder
26. maj 2003 - 13:21 #1
- og selvfølgelig også problemer, hvis søgeordet er det FØRSTE ord i titlen..
Avatar billede eagleeye Praktikant
26. maj 2003 - 17:38 #2
Du skriver:
Jeg vil KUN finde de titler, som nøjagtigt matcher søgeordet.

Så skal du bruge = og ikke LIKE:


For n = LBound(soegeterm) To UBound(soegeterm)   
  SQL = SQL & "(Titel1 = '"& soegeterm(n) &"')"
  SQL = SQL & " OR (Titel2 = '"& soegeterm(n) &"')"
Next
Avatar billede weiland Nybegynder
27. maj 2003 - 16:01 #3
Du har ret!
Men jeg har formuleret mig uklart......

DET JEG MENER: Jeg vil kun finde titler, hvor det nøjagtige søgeord indgår..

Altså, hvis man søger efter "god", skal man finde "En god bog" og "Hvornår er en bog god", men IKKE "Godter i børnehaven" :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester