Ciao a tutti, ho da poco messo una semplice funzione di ricerca sul mio sito, funziona bene, solo che vorrei apportare alcume modifiche e non ne sono capace, il codice è questo:

codice:
<%
Dim prechiave
Dim tipo
prechiave=request.querystring("form_chiave") 
tipo=request.querystring("tipo")
if tipo="tutte" then 
change="%'and descrizione like'%" 
chiave=Replace(prechiave," ", change)
else 
chiave=prechiave 
end if 
Dim iPageSize       'Numero di record da visualizzare
Dim iPageCount      'Numero di pagine totali che otteniamo dalla query
Dim iPageCurrent    'Pagina corrente
Dim strOrderBy      'Parametro in base a cui definire l'ordinamento
Dim strSQL          'Comando da eseguire
Dim RS     'Il solito amico Recordset
Dim iRecordsShown   'Variabile usata per definire i record mostrati
Dim miastringa 'Variabile utilizzata per la visualizzazione dei risultati
Dim nuovastringa 'Variabile utilizzata per la visualizzazione dei risultati
iPageSize = 4 ' Imposto il numero di record visualizzati
If Request.QueryString("page") = "" Then 

                iPageCurrent = 1 

Else 

                iPageCurrent = CInt(Request.QueryString("page")) 

End If 

If Request.QueryString("order") = "" Then 

                strOrderBy = "id" 

Else 

                strOrderBy = Request.QueryString("order") 

End If 
Dim Conn 
Set Conn = Server.CreateObject("ADODB.Connection") 
conn.Open "driver={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/gestione_dati.mdb")
Set rs = Server.CreateObject("ADODB.Recordset") 
sql = "SELECT * FROM motore where descrizione like '%"&chiave&"%' ORDER BY " & strOrderBy & " DESC;" 
RS.Open sql, conn, adOpenKeyset 
RS.PageSize = iPageSize 
RS.CacheSize = iPageSize 
iPageCount = RS.PageCount 
Dim totale
totale = rs.recordcount
If iPageCurrent > iPageCount Then iPageCurrent = iPageCount 
If iPageCurrent < 1 Then iPageCurrent = 1 
If iPageCount = 0 Then 

                response.redirect("search_again.htm") 

Else 

                RS.AbsolutePage = iPageCurrent 
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="it">
<head>
<title>Risultati della ricerca: <% = chiave %>.</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<div class="uno">
<div class="info"> 
<H4 title="Risultati della ricerca">la ricerca di: "<% = chiave %>" ha prodotto <% = totale %> risultati</H4>
<% 
iRecordsShown = 0 
Do While iRecordsShown < iPageSize And Not RS.EOF 
%>


"><%= rs("nome")%>

<font face="Verdana, Arial, Helvetica, sans-serif" size="1">
<%
miastringa = RS("descrizione")
nuovastringa = Mid( miastringa, 1, 100)
response.write(nuovastringa)&"..."
%></font></p>
<% 
iRecordsShown = iRecordsShown + 1 
RS.MoveNext 
Loop 
End If 
RS.Close 
Set RS = Nothing 
Conn.Close 
Set Conn= Nothing 
%>
<font face="Verdana, Arial, Helvetica, sans-serif" size="2">Pagina <%= iPageCurrent%> di <%= iPageCount%></font>
<% 
If iPageCurrent <> 1 Then 
%> 
indietro 
<% end if %> 
<%If iPageCurrent < iPageCount Then 
%> 
avanti &gt; 
<% end if %>
</div>
</div></body></html>
Se provo ad eseguire una ricerca del tipo: " casa casa" (ossia inserisco due volte la stessa parola separata da uno spazio) i risultati sono giusti, ma qui

codice:
<H4 title="Risultati della ricerca">la ricerca di: "<% = chiave %>" ha prodotto <% = totale %> risultati</H4>
mi stampa questo:

codice:
La ricerca di: "casa%'and descrizione like'%casa" ha prodotto 8 risultati
non capisco perchè quel
codice:
%'and descrizione like'%
eventualmente è possibile inserire un controllo che eviti di prendere in considerazione nella ricerca la seconda parola se è uguale alla prima?