Newsgroup: it.comp.www.asp
Titolo: piccolo progresso "era: ricerca su piu' campi.."

Questo e' quello che sono riuscito a fare, purtroppo pero' ho due
problemi:
all'apertura della pagina, nella quale e' presente anche il form, di
default non viene visualizzato nessun record, al contrario vorrei ci
fossero tutti, inoltre se effettuo la ricerca nel campo prodotti non mi
restituisce alcun risultato....
<%
Dim strDynamic
strDynamic = "Prodotto"
if (Request("Field") <> "") then strDynamic = Request("Field")
%>
<%
Dim strQuery
strQuery = "%"
if (Request("Keyword") <> "") then strQuery = Request("Keyword")
%>
<%
sql = "SELECT Prodotto, Origine, Provenienza FROM Listino_Prodotti WHERE
" + Replace(Recordset1__strDynamic, "'", "''") + " = '" +
Replace(Recordset1__strQuery, "'", "''") + "'"
%>
il form:
<form name="rsSearc" action="default">
      <select name="Field">
        <option value="Prodotto">Prodotto</option>
        <option value="Origine">Origine</option>
        <option value="Provenienza">Provenienza</option>
      </select>
      <input type="text" name="Keyword">
      <input type="submit" name="Cerca" value="Cerca">
  </form>
dove sbalglio?  GRAZIE!!
-- 
Marcello

Scusa Marcello,
te l'avevo scritto da tempo, ma era rimasto sul portatile:
----
Ecco uno script che potrebbe illustrarti il concetto di una ricerca su tutti
i campi o su uno solo scelto da una casella di selezione.
Dovendo selezionare "più campi", occorre una select a selezione multipla,
delle checkbox, o delle caselle di testo dove mettere il testo da cercare,
uno per campo.
Alla fine vedrai che è tutta questione di saper prelevare le informazioni
giuste dal form e scriverti a mano uno script che ti generi la clausola SQL.
In questo caso è abbastanza
semplice.
Puoi inserirci poi i vari replace per apici, ecc.
Ciao!
Paolo
Il tutto sta in un'unica pagina ricerca.asp
<FORM method="POST" action="ricerca.asp">
<P>Caratteri da cercare: <INPUT type="text" name="parola" size="20"></P>
<P>Campo: <SELECT size="1" name="campo">
  <OPTION>Tutti</OPTION>
  <OPTION>Titolo</OPTION>
  <OPTION>Descrizione</OPTION>
  <OPTION>Autore</OPTION>
</SELECT></P>
 <P><INPUT type="submit" value="Invia" name="azione"></P>
</FORM>
<%
parola=Request.QueryString("parola")
campo=Request.QueryString("campo")
azione=Request.QueryString("Azione")
if (not (IsNull(parola))) AND (not (IsNull(campo))) AND (azione="Azione")
then
  parola=replace(parola,"'","''")  'Per eventuali apici nella parola...
  ...
  select case campo
    case "Tutti"
      sql= "SELECT * FROM [tabella] WHERE " & _
           "'Titolo' like '%" & parola & "%' OR " & _
           "'Descrizione' like '%" & parola & "%' OR " & _
           "'Autore' like '%" & parola & "%' " & _
           "ORDER BY 'Titolo';"
    case "Titolo"
           sql= "SELECT * FROM [tabella] WHERE " & _
           "'Titolo' like '%" & parola & "%'" & _
           "ORDER BY 'Titolo';"
    case "Descrizione"
           sql= "SELECT * FROM [tabella] WHERE " & _
           "'Descrizione' like '%" & parola & "%'" & _
           "ORDER BY 'Descrizione';"
    case "Autore"
           sql= "SELECT * FROM [tabella] WHERE " & _
           "'Autore' like '%" & parola & "%'" & _
           "ORDER BY 'Autore';"
   end select
else
  SQL=""SELECT * FROM [tabella]"
end if
 'qui crei connessione, ecc.
  rst.Open sql ...
%>

Grazie :-)
-- 
Marcello