Newsgroup: it.comp.www.asp
Titolo: Problema con ricerche su campi memo

Ciao a tutti, avrei un problema nel fare una ricerca tramite ASP all'interno
di campi di tipo memo di un database MS Access.
Infatti, scrivendo la query nel seguente modo: "SELECT * FROM tabella WHERE
nome_campo LIKE '%" & Request.Form("ricerca") & "%'" ed inserendo nel form
di ricerca, ad esempio, caso, mi vengono presentati tutti i record nel cui
campo memo è presente anche, ad esempio, casolare.
Ho provato a togliere dalla query il carattere %, ma in questo modo non
funziona per nulla. Come estremo, ma sapevo già inutile, tentativo ho
provato a scrivere la query così: "SELECT * FROM tabella WHERE nome_campo =
'" & Request.Form("ricerca") & "'" ma per i campi memo non funziona.
Qualcuno sa aiutarmi? Grazie mille.
--
Matteo Cacciola
Email: 
cacc...@i-2000net.it
 (personale)
 
mat...@easy-soft.net
 (professionale)
----------------------------------------------------------------
Web Designer della 001TopZine, rivista telematica no profit
http://www.123point.net/001topzine
----------------------------------------------------------------
Webmaster della Easy-Soft sas
http://www.easy-soft.net
----------------------------------------------------------------
Collaboratore al sito Eurolandia
http://eurolandia.tin.it
----------------------------------------------------------------
Home Page personale
http://web.i-2000net.it/cacciola
----------------------------------------------------------------
Il mio sito sull'Euro
http://web.tiscalinet.it/matteocacciola

'" & Request.Form("ricerca") & "'" ma per i campi memo non funziona.
Se vuoi cercare parole singole, puoi farlo usando gli spazi:
nome_campo LIKE  '% " & Request.Form("ricerca") & " %'"
NOTA: gli spazi dopo e prima i '%'. In questo modo lui cerchera'
solo la parola INTERA, separata da spazi dal resto. Questo vuol dire
pero' che lui non trovera' cose come
PAROLA. o (PAROLA) o quando questa si trova all'inizio o alla fine
del testo.
Davide

Purtroppo se vuoi usare LIKE devi per forza usare dei giochini come ti ha
mostrato Davide. Puoi eventualmente dividere la cosa in due casi diversi
cioè la parola esatta e anche parziale facendo due query diverse.
Saluti
--
Lino Mari
Intermedia srl
http://www.intermedia2000.com

Ho risolto il problema semplicemente usando una query più complessa,
comprendente tutti i più frequenti casi di parola seguita da punteggiatura,
ma sempre utilizzando, purtroppo, l'operatore LIKE come da email precedente.
Ciao e grazie per l'aiuto


 ha scritto:
} Ciao a tutti, avrei un problema nel fare una ricerca tramite ASP all'interno
} di campi di tipo memo di un database MS Access.
} Infatti, scrivendo la query nel seguente modo: "SELECT * FROM tabella WHERE
} nome_campo LIKE '%" & Request.Form("ricerca") & "%'" ed inserendo nel form
} di ricerca, ad esempio, caso, mi vengono presentati tutti i record nel cui
} campo memo è presente anche, ad esempio, casolare.
} Ho provato a togliere dalla query il carattere %, ma in questo modo non
} funziona per nulla. Come estremo, ma sapevo già inutile, tentativo ho
} provato a scrivere la query così: "SELECT * FROM tabella WHERE nome_campo =
} '" & Request.Form("ricerca") & "'" ma per i campi memo non funziona.
} Qualcuno sa aiutarmi? Grazie mille.
prova con 
"SELECT * FROM tabella WHERE nome_campo LIKE '%[!a-z0-9]" &
Request.Form("ricerca") & "[!a-z0-9]%' or nome_campo LIKE '" &
Request.Form("ricerca") & "[!a-z0-9]%' or nome_campo LIKE '%[!a-z0-9]" &
Request.Form("ricerca") & "'"
Saluti. Carlo.
--
Per rispondere via e-mail
togliere TOGLIMI dall'indirizzo.
E-mail: 
carl...@tiscalinet.it
Foglio Excel sulle tariffe telefoniche
Web I : 
http://web.tiscalinet.it/carlonike
    II: 
http://dadacasa.supereva.it/carlo_nike/
Scrivi il senso dei tuoi messaggi già nell'oggetto,
sarà più facile ottenere le risposte che cerchi.

