16 messaggi dal 23 marzo 2002
Ho integrato i due vostri post e tutto funziona a meraviglia !!!!!!
per intenderci ho scritto:

if InStr(1,codice,dato)>0 or InStr(1,Localita,dato)>0 or InStr(1,nome,dato,1)>0 or InStr(1,Telefono,dato)>0 or InStr(1,UserID,dato)>0 then

mi spiegate questa sitassi, che credo sia quella piu' completa ?
InStr(1,nome,dato,1)

bel lavoro di squadra !!!

256 messaggi dal 05 dicembre 2001
uffa mi precedi sempre

Ainscia

Ainscia
256 messaggi dal 05 dicembre 2001
instr(start, stringa1,stringa2,comparetype)
start è opzionale e indica dove, all'interno di stringa1, iniziare a cercare stringa2
se comparetype è uguale a 0 viene effettuato il confronto considerando le lettere maiuscole e minuscole, se è =1 non si fa distinzione tra maiuscole e minuscole
il risultato della funzione è 0 se stringa1 è vuota, se stringa2 non si trova in stringa1 o se strart è > della lunghezza di stringa2.
Il risultato è NULL se una delle 2 stringhe è null.
Se stringa 2 è trovata in stringa 1 viene restituita la posizione di partenza dove è stata trovata la prima volta

Ciao

Ainscia
16 messaggi dal 23 marzo 2002
Perche' dopo aver postato il codice... la soluzione si sposta dalla riga "Select * tabella1............. a quella instr(start, stringa1,stringa2......

P.S. è solo per capire e non fare copia incolla ;)

256 messaggi dal 05 dicembre 2001
credevo che la condizione la volessi mettere nella query SQL ma ho visto che tu selezioni tutti i record della tabella, poi successivamente decidi quali visualizzare
cmq se tu metti la condizione nella query dovrebbe funzionare
logicamente
dato = Request.Form("parola")
deve precedere la query
Ciao



Ainscia

Ainscia
16 messaggi dal 23 marzo 2002
Sti finendo il DB.... un dubbio :)

se cerco Anna viene fuori il nome Anna se trovato ma anche Marianna per esempio.... perche' anna è contenuto in marianna...

non si puo' delimitare la ricerca ? fare in maniera che a ricerca Anna esca solo Anna ??? e non le unioni di parole ?

grazie :)

256 messaggi dal 05 dicembre 2001
potresti usare

if dato=Codice or dato=Localita or instr(1,dato,Nome,1) =1 or dato=Telefono or dato=UserID then

'ho messo solo la condizione al campo nome in quanto mi sembra che sei interessato solo a quello

Così facendo c'è un problema in quanto devi essere sicuro che il nome non sia preceduto da spazi, inoltre se la ricerca la fai in base al cognome è un po' + incasinato ricercarli.

La cosa migliore sarebbe avere 2 campi nel db, un campo nome e un campo cognome

Ainscia

Ainscia
256 messaggi dal 05 dicembre 2001
e se tu fai così non è + semplice???
(credo che funzioni ma non te lo assicuro)

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

If clickato then

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


dato = Request.Form("parola")

Set objRs = Server.CreateObject("ADODB.Recordset")
set objRs = objConn.Execute("SELECT * from tabella1 WHERE tabella1.codice = '" & dato & "' OR tabella1.località = '" & dato & "' OR tabella1.Telefono = '" & dato & "' OR tabella1.UserID = '" & dato & "' OR tabella1.nome like '" & dato & "%';")

Do while NOT objRs.EOF


- CODICE HTML

objRs.Movenext
Loop

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

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



%>


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.