16 messaggi dal 23 marzo 2002
Ho un form in asp che ricerca in un DB ACCESS e tutto funziona regolarmente se cerco singole parole per esempio Mario che esiste nella tabella1 al campo nome..... ma se al campo nome del DB esiste Mario Rossi la ricerca non mostra quel dato.... come posso fare a far visualizzare anche pezzi di parole inserite ?

Ad esempio : Mario, Mar, Ma, M, Rossi, Ros, tutti che mostrano il risultato Mario Rossi.

256 messaggi dal 05 dicembre 2001
devi usare il carattere jolly %

lo devi inserire nella query

select * from tabella 1 where nome like '%ros%'
ti visualizza anche mario rossi solo che cosi facendo ti potrebbe anche visualizzare un certo "Marros XXyz"
ciao


Ainscia

Ainscia
16 messaggi dal 23 marzo 2002
Questo il codice....

<%
clickato = Request.Querystring("clickato")

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:\.......\.mdb")

Set objRs = Server.CreateObject("ADODB.Recordset")
set objRs = objConn.Execute("SELECT * from tabella1")

If clickato then

Do while NOT objRs.EOF

Codice = objRs("Codice")
Localita = objRs("Località")
Nome = objRs("Nome")
Telefono = objRs("telefono")
UserID = objRs("UserID")
dato = Request.Form("parola")

if dato=Codice or dato=Localita or dato=Nome or dato=Telefono or dato=UserID then

- CODICE HTML (che non posto, non credo serva) -

end if
objRs.Movenext
Loop

else

Response.Write "<form action='referenti.asp?clickato=true' method='post'>"
Response.Write "Inserisci un dato per ricercare nel DB = "
Response.Write "<input type='text' name='parola'> "
Response.Write "<input type='submit' value='Ricerca'>"
Response.Write "</form>"

end if

objRs.Close
Set objRs = Nothing
objConn.Close
Set objConn = Nothing

%>

1.605 messaggi dal 06 settembre 2002
prova così

if InStr(1,Codice ,dato)>0 or InStr(1,Localita,dato)>0 or InStr(1,Nome ,dato)>0or InStr(1,Telefono ,dato)>0 or InStr(1,UserID,dato)>0 then




FORZA LA MAGICA ROMA

FORZA LA MAGICA ROMA
256 messaggi dal 05 dicembre 2001
prova cosi
if dato=Codice or dato=Localita or instr(1,dato,Nome,1) >0 or dato=Telefono or dato=UserID then

la funzione instr serve per verificare se e dove una stringa si verifica in un altra; se si verifica restituisce la posizione in cui inizia per quello ho messo la condizione >0; il primo 1 indica la posizione da cui iniziare la ricerca; l'ultimo' 1 indica di effettuare il controllo senza considerare le maiuscole e minuscole

Ainscia

Ainscia
16 messaggi dal 23 marzo 2002
Funziona !!!!

un accorgimento se puoi:

1) se cerco mario e nel DB è scritto Mario (M Maiuscola) non esce nulla.....

1.605 messaggi dal 06 settembre 2002
prova così
dato = UCase(dato )
if InStr(1,UCase(Codice) ,dato)>0 or InStr(1,UCase(Localita),dato)>0 or InStr(1,UCase(Nome) ,dato)>0or InStr(1,UCase(Telefono) ,dato)>0 or InStr(1,UCase(UserID),dato)>0 then



FORZA LA MAGICA ROMA

FORZA LA MAGICA ROMA
256 messaggi dal 05 dicembre 2001
credo che ti riferisci al post di albis
quindi devi fare cosi
if InStr(1,Codice ,dato,1)>0 or InStr(1,Localita,dato,1)>0 or InStr(1,Nome ,dato,1)>0or InStr(1,Telefono ,dato,1)>0 or InStr(1,UserID,dato,1)>0 then

Ciao


Ainscia

Ainscia

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.