Hej Sparar du flera sökord i samma kolumn eller har du en post för varje ord? Hur söker du nu? Då får du splitta upp söksträngen i ord och skapa ett SQL-uttryck som ser ut något sånt här: Ok jag förstår ungefär hur du menar men jag skall ju ta det först med request.form är det då något mer som skall ändras , jag bifogar lite mer av min kod : Microsoft OLE DB Provider for ODBC Drivers error '80040e14' Variabeln SQL har nog ett värde innan, testa så här: Använd Ang söka i databasen
jag har en sidan som jag postar "sökord" och en "url" til varsin kolumn idatabasen sedan har jag en sida där jag söker i " sökkolumnen" för att sedan få fram dom url som stämmer med sökorden ,det funkar bra men jag har märkt att det funkar bara att söka i den ordningen som sökorden ligger i databasen finns det tex : "cykel röd 2växlad herr" så kan jag inte söka på cykel och herr utan då måste jag ha med alla orden som även ligger emellan dom två , går det att göra nått åt detta?
Vore jätte tacksam för hjälp:)Sv: Ang söka i databasen
/JohanSv: Ang söka i databasen
SQL = "Select * from lank Where Kolumnen Like '%" & Request.Form("sokord") & "%' "
SET RS = Con.Execute(SQL)
ja jag lägger flera sökord i en kolumn.Sv: Ang söka i databasen
SQL = "Select * from lank Where Kolumnen Like '%sökord1%' AND Kolumnen Like '%sökord2%' AND Kolumnen Like '%sökord3%'"
Detta gör att alla ord måste finnas, om det räcker med något byter du bara ut AND mot OR.
/JohanSv: Ang söka i databasen
<form action="sok.asp" method="post">
<font face="Verdana" size="1">
<input type="text" name="sokord" size="25">
sökord<br>
<input type="submit" value="sök" name="submit">
</font>
</form>
<p><font face="Verdana" size="1"><%
If Request.Form("sokord") <> "" Then
Response.Write "Din sökning på <b>" & Request.Form("sokord") & "</b> gav följande träffar.<br><br>" & vbCrLf
SQL = "Select * from lank Where Kolumnen Like '%" & Request.Form("sokord") & "%' "
SET RS = Con.Execute(SQL)Sv: Ang söka i databasen
dim ordarr, ord
ordarr=split(Request.Form("sokord"), " ")
for each ord in ordarr
SQL=SQL & " AND Kolumnen Like '%" & ord & "%'
next
SQL = "Select * from lank Where " & right(SQL,len(SQL)-5)
något sådant kanske fungera, har inte testat så det kan finnas fel...
/JohanSv: Ang söka i databasen
[Microsoft][ODBC Microsoft Access Driver] Syntaxfel (operator saknas) i frågeuttrycket 'T Count(*) From lank AND Kolumnen Like '%hj%''.
/ccr/tim/sok.asp, line 43
det är denna raden : SET RS = Con.Execute(SQL)Sv: Ang söka i databasen
<code>
dim ordarr, ord
ordarr=split(Request.Form("sokord"), " ")
SQL=""
for each ord in ordarr
SQL=SQL & " AND Kolumnen Like '%" & ord & "%'
next
SQL = "Select * from lank Where " & right(SQL,len(SQL)-5)
</code>
/JohanSv: Ang söka i databasen
Mid(SQL, 6)
Istället för
Right(SQL, len(SQL)-5)
Snyggare och mindre anrop.