Avatar billede mecenor Nybegynder
13. marts 2005 - 13:02 Der er 2 kommentarer og
2 løsninger

Søgning med apostrofer og fra flere kolonner

Hej, jeg har nogle problemer med søgninger på ord, der indeholder apostrofer, eksempelvis 'Chaminé'. Hvis ikke apostrofen er med, finder søgningen ikke posten i databasen.
Det ville være et uheldigt at skulle fjerne apostroferne fra navnet – er der en anden måde, så man kan gøre søgningen ’ligeglad’ med apostrofer?!

P.t. bruger jeg:
call dbstart("SELECT * FROM soegning WHERE vine_navn like '%" & felt & "%' or drue like '%" & felt & "%' or huse_navn like '%" & felt & "%' ORDER BY hus, vine_navn")

OK, næste spørgsmål. Hvis man søger på både navnet på en vin og druer(ex Chaminé Aragonez) finder søgningen heller ikke noget. Når man bruger ’or’ udelukker man så poster, der indeholder begge ord? Hvordan kan man lave en søgning, der kan klare, at man søger på flere ting?!

Mvh. Mec
Avatar billede jmp.dk Nybegynder
14. marts 2005 - 17:02 #1
Spørgsmål 1, Hvilken database bruger du ?
Spørgsmål 2, Nej or udelukker ikke noget.
Men der er noget andet galt.
Men hvis du søger på 'Chaminé Aragonez' skal hele strengen være i det felt du søger på. I dit tilfælde går jeg ud fra at i colonnen drue findes 'aragonez' og vine_navn 'Charminé'. Derfor må du dele dine søge streng op i to da begge ord aldrig vil findes i en kolonne.
Avatar billede mecenor Nybegynder
14. marts 2005 - 17:24 #2
Databasen er Access.
Ja, du har ret, det giver mening nu, at der ikke findes noget på både drue og navn. Men hvordan deler jeg søgestrengen op i 2?
Avatar billede jmp.dk Nybegynder
14. marts 2005 - 17:52 #3
Det mest effektive er hvis du kan lave et søgefelt tilhver kolonne.
Hvis du ikke kan du gøre:
1) splitte din streng op og tage et ord af gangen, men tokenize( str, sep ) hvis du bruger VB.
2) Erstatte alle mellemrum i søge strengen med ','. Så dan at din søgning bliver :
where vine_navn IN( 'Chaminé','Aragonez','...' ) OR drue IN ( 'Chaminé','Aragonez','...' ) osv...
Hvad for et sprog skriver du dit program i ?
Avatar billede mecenor Nybegynder
14. marts 2005 - 18:29 #4
Søgningen skal komme fra ét søgefelt.
Jeg skriver i ASP VB og er stadig på begynderstadiet. Derfor er jeg ikke helt klar på dine forslag.
1) Lyder umiddelbart som en god idé, men ingen anelse om hvordan man gør det.
2) Hvad opnår man ved at dele strengen op med komma og bruge IN?
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