Newsgroup: it.comp.www.asp
Titolo: mi aiutate a fare una query?

lo so lo so so che adesso state per dire che sono imbranata ma ho bisogno di
un aiutino....
ho una form con un campo testo dove ci scrivo quello che cerco e poi 20
checkbox riferite alle 20 regioni
il risultato naturalmete è che le checkbox fanno da filtro sulle regioni
dove io voglio che cerchino il valore.
<form name="form_ricerca" method="get" action="risultato_attivita.asp">
<input type="text" name="ricerca">
<input type="submit" name="Submit" value="Cerca">
<input name="Regione" type="checkbox" value="Veneto"> ......e via via le
altre regioni
  </form>
come faccio a fare quello che ho descritto?
la pagina risultato_attivita.asp ho messo
Dim rs_ricerca__parametro
rs_ricerca__parametro = "1"
if (Request.QueryString("ricerca") <> "") then rs_ricerca__parametro =
Request.QueryString("ricerca")
....WHERE Attivita LIKE '%" + Replace(rs_ricerca__parametro, "'", "''") +
"%'
ma mi prende tutti i dati di tutte le regioni come faccio a creare sto
benedetto filtro???????

 ma mi prende tutti i dati di tutte le regioni 
Chiaro che ti trova tutte le regioni, non le filtri.
Per prima cosa, io darei ai checkbox lo stesso nome. In questo modo, al 
submit, ottieni un array contenente i valori dei soli checkbox che sono 
stati selezionati (cioč, per esempio, "friuli, veneto, lazio").
Sulla base di questo array, puoi
A) fare un ciclo che aggiunge tanti "OR regione="
regioni = Request.form("regione")
regioni = Replace(regioni, " ", "")
ARRregioni = split(regioni, ",") 'array
for i = 0 to UBound(ARRregioni)
  if i = 0 then 
    strSQL = "AND regione='" & ARRregioni(i) & "' "
  else
    strSQL = "OR regione='" & ARRregioni & "' "
  end if
next
SQLtot = "SELECT ... FROM ... WHERE attivita LIKE.... " & strSQL
E questo dovrebbe funzionare. Ma non mi piace, perchč magari 20 OR mi 
sembrano esagerati. 
B) Io userei, invece, la forma 
"...WHERE regione IN(.....)"
regioni = Request.form("regione")
regioni = Replace(regioni, " ", "")
ARRregioni = split(regioni, ",") 'array
for i = 0 to UBound(ARRregioni)
  if i = 0 then 
    strSQL = "'" & ARRregioni(i) & "'"
  else
    strSQL = ",'" & ARRregioni & "'"
  end if
next
SQLtot = "SELECT ... FROM ... WHERE attivita LIKE.... 
AND regione IN (" & strSQL & &")"
----------------------
Ho dedicato tempo a risponderti e facendo esempi, nella speranza che 
MOLLI DREAMWEAVER PER SCRIVERE SCRIPT.

Mi sono accorta di una cosa....
Dim rs_ricerca__Parametro
rs_ricerca__Parametro = "1"
if (Request.QueryString("ricerca") <> "") then rs_ricerca__Parametro =
Request.QueryString("ricerca")
SELECT Nominativi.ID, Tipologia.Tipologia_Descrizione,
Nominativi.Ragione_Sociale, Nominativi.Indirizzo, Nominativi.Cap,
Nominativi.Citta, Nominativi.Provincia, qry_prov_reg.Regione  FROM
((qry_prov_reg RIGHT JOIN Nominativi ON qry_prov_reg.Sigla_Breve =
Nominativi.Provincia) LEFT JOIN Sic_Dettaglio ON Nominativi.SIC =
Sic_Dettaglio.SIC) LEFT JOIN Tipologia ON Nominativi.ID_Tipologia =
Tipologia.ID_Tipologia  WHERE Attivita LIKE '%" +
Replace(rs_ricerca__Parametro, "'", "''") + "%'  ORDER BY Regione ASC,
nominativi.Provincia ASC, Ragione_Sociale ASC
ma in una query come questa io prendo il valore ricerca ad esempio:
trova tutte le aziende che fanno macchine ma solo quelle della regione
flaggata
adesso sul browser mi da:
http://localhost/dbmarketingxprove/risultato_attivita.asp?ricerca=macchin&Submit=Cerca
tu mi hai scritto:
"...WHERE regione IN(.....)"
regioni = Request.form("regione")
regioni = Replace(regioni, " ", "")
ARRregioni = split(regioni, ",") 'array
for i = 0 to UBound(ARRregioni)
  if i = 0 then
    strSQL = "'" & ARRregioni(i) & "'"
  else
    strSQL = ",'" & ARRregioni & "'"
  end if
next
SQLtot = "SELECT ... FROM ... WHERE attivita LIKE....
AND regione IN (" & strSQL & &")"
e mi sono incartata boh forse è la stanchezza della sera ma non riesco a
capire nulla
come faccio a fare la connessione e la sql corretta?
ti ringrazio.....