Avatar billede gummisko Nybegynder
08. oktober 2003 - 20:27 Der er 15 kommentarer og
2 løsninger

Query HJÆLP til søgning i database efter 2 eller flere ord

Hvordan søger man i en database efter alle ord skrevet ind i en form?? Jeg bruger dette script nu, men det kan kun klare ét ord.
' Opbygger en dynamisk SQL streng
strSQL = "SELECT Id, Fagnavn, beskrivlink, indhold, Kat_under FROM fag WHERE"
strSQL = strSQL & " (Id LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Fagnavn LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (beskrivlink LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (indhold LIKE '%" & strKeyword & "%')"

Men som sagt: det skal være til flere ord
Kan du hjæølpe mig???????????????
MVH
Bjarne
Avatar billede gummisko Nybegynder
08. oktober 2003 - 20:36 #1
det er faktisk noget i stil med søgningen her på siden!!!!!
Kan man se denne sql-sætning med ALLE ORD????????????????
Avatar billede Slettet bruger
08. oktober 2003 - 20:37 #2
Altså flere ord i samme felt?
Avatar billede terry Ekspert
08. oktober 2003 - 20:39 #3
Are youusing this in a web application or what?

If not then replace % with *
Avatar billede terry Ekspert
08. oktober 2003 - 20:42 #4
Ah!
Then you need to have another search field (strKeyword2)

strSQL = "SELECT Id, Fagnavn, beskrivlink, indhold, Kat_under FROM fag WHERE"
strSQL = strSQL & " (Id LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " (Id LIKE '%" & strKeyword2 & "%')"
strSQL = strSQL & " OR (Fagnavn LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Fagnavn LIKE '%" & strKeyword2 & "%')"

strSQL = strSQL & " OR (beskrivlink LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (beskrivlink LIKE '%" & strKeyword2 & "%')"

strSQL = strSQL & " OR (indhold LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (indhold LIKE '%" & strKeyword2 & "%')"
Avatar billede gummisko Nybegynder
08. oktober 2003 - 20:49 #5
Det SKAL komme fra èt search field!!!! bruges på webben
Noget med at dele indholdet af teksten op i flere dele??????????
keyword = keyword1 + keyword2 + osv.....
Avatar billede terry Ekspert
08. oktober 2003 - 20:55 #6
?
give an example!
Avatar billede gummisko Nybegynder
08. oktober 2003 - 21:01 #7
keyword (fra search field):
hvis det består af flere ord(tekst string) skal denne tekst string deles op i enkelte ord, som bruges til at generere keyword1, keyword2 and so on

F.ex:  Det er skide svært
deles op til
keyword1 = Det
keyword2 = er
and so on
Avatar billede terry Ekspert
08. oktober 2003 - 21:16 #8
I dont think me head is working this evening!

IF you enter "Det er skide svært" into a search field then split it up into
keyword1 = Det
keyword2 = er
keyword3 = skide
keyword4 = svært

then WHY do you need to put them together again to make a search on one string (strKeyword) ??
I'm lost!
what does the dB field contain?
Avatar billede gummisko Nybegynder
08. oktober 2003 - 21:22 #9
de skal ikke samles igen - men bruges hver for sig:
strSQL = strSQL & " OR (beskrivlink LIKE '%" & strKeyword1 & "%')"
strSQL = strSQL & " OR (beskrivlink LIKE '%" & strKeyword2 & "%')"
strSQL = strSQL & " OR (beskrivlink LIKE '%" & strKeyword3 & "%')"
strSQL = strSQL & " OR (beskrivlink LIKE '%" & strKeyword4 & "%')"

er det ikke noget med en ASP-funktion:
'Split the terms on spaces
    Dim termsArray
    termsArray = split(strKeywords," ")
Avatar billede gummisko Nybegynder
08. oktober 2003 - 21:23 #10
what does the dB field contain? = tekst
Avatar billede terry Ekspert
08. oktober 2003 - 21:27 #11
Now we are getting there!
so the SQL (example with two keywords) was OK, what your problem is, is splitting the searchfield into seperate words!
Not at all easy to see that from your question!
If I had seen that I would have said what I am going to say now, and you have just said yourself (er det ikke noget med en ASP-funktion:)???
So what is the question doing in Access?
Avatar billede gummisko Nybegynder
08. oktober 2003 - 21:29 #12
kan det ikke laves i SQL???
Avatar billede gummisko Nybegynder
08. oktober 2003 - 21:30 #13
eller hvad skal jeg gøre???SUK
Avatar billede gummisko Nybegynder
08. oktober 2003 - 21:31 #14
det fremgår da af starten af denne snak:

Men som sagt: det skal være til flere ord

men okay- lidt dårligt formuleret

ikk?
Avatar billede gummisko Nybegynder
08. oktober 2003 - 22:02 #15
vi lukker og slukker
Avatar billede weaponx Nybegynder
09. oktober 2003 - 00:10 #16
hvis de ord du vil søge efter er i en kolonne i en tabel kan du jo lave en forespørgsel på feltet og angive kriterier for den såsom ="ord1" AND "ord2" eller ="ord1" OR "ord2" osv.
Avatar billede terry Ekspert
14. oktober 2003 - 19:49 #17
.
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