Avatar billede kronsj Nybegynder
10. februar 2005 - 10:18 Der er 4 kommentarer og
1 løsning

fritekstsøgning i access

Jeg sidder med en asp-side der skal indeholde fritekstsøgning. Jeg laver flg. SQL-sætning :

SELECT * FROM telefonbog WHERE (([fornavn]+[mellemnavn]+[efternavn]) LIKE '*hans*')

Problemet opstår, hvis eks. mellemnavn er null. så bliver recorden ignoreret.

Findes der en "ignorenull" kommando i Access SQL ?

...men jeg er da også åben for andre forslag til implementering af fritekst søgninger i flere felter i Access
10. februar 2005 - 10:22 #1
prøv denne (den virker i hvert fald i Access):
SELECT * FROM telefonbog WHERE (([fornavn]+nz([mellemnavn],'')+[efternavn]) LIKE '*hans*')
Avatar billede jensen363 Forsker
10. februar 2005 - 10:24 #2
SELECT * FROM telefonbog
WHERE ((([fornavn]) Like "*hans*")) OR ((([mellemnavn]) Like "*hans*")) OR ((([efternavn]) Like "*hans*"));
10. februar 2005 - 10:28 #3
god ide, Jensen :)
Avatar billede jensen363 Forsker
10. februar 2005 - 10:30 #4
;o)
Avatar billede kronsj Nybegynder
19. februar 2005 - 11:57 #5
Jeg giver dig point jensen, men jeg løste problemet selv, og fandt ud af at det ikke var nær så nemt som det egentlig lyder (ud fra min mulige løsning) :
I Sql-connectionen bliver er provideren : PROVIDER=MSDASQL, hvilket betyder at vi skal have fat i "real" MS-SQL (også kaldet T-SQL)

1 (jensen) I T-SQL findes wildcardet "*" ikke, men "%". Men fred være med det ;-)
2 (ThomasJeppsen) : funktionen "nz()" findes kun internt i Access - og er rent faktisk en vba-funktion.

Jeg valgte en helt tredje løsning :
SQL har nemlig funktionen ISNULL([felt],'',[felt]). Og det blev min endelige løsning.

Tak for jeres bidrag.
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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