Newsgroup: it.comp.www.asp
Titolo: query includi - escludi

Problemone con includi escludi
qui faccio la query
SQL = " SELECT Nominativi.ID, Nominativi.Ragione_Sociale,
Nominativi.Provincia, Contatto11.Last_Name, Nominativi.Telefono,
Nominativi.Data_call, Nominativi.Fatturato, Nominativi.Attivita,
qry_prov_reg.Regione FROM (Nominativi LEFT JOIN qry_prov_reg ON
Nominativi.Provincia = qry_prov_reg.Sigla_Breve) LEFT JOIN Contatto11 ON
Nominativi.ID = Contatto11.ID_Nominativo WHERE "
-->se lascio in bianco gli altri campi mi fa la query correttamente
For i = 0 to UBound(ArrQuery, 1)
SQL = SQL & "(attivita LIKE '%" & ArrQuery(i) & "%') AND "
Next
-->la query è corretta
if Trim (request("k1") <> "") then 
sql = sql & "(attivita not like '%" &request("k1") &"%') and "
end if
-->la query è corretta
if Trim (request("k2") <> "") then
sql = sql & "(attivita not like '%" &request("k2") &"%') and "
end if
-->la query è corretta
if Trim (request("k3") <> "") then
sql = sql & "(attivita not like '%" &request("k3") &"%') and "
end if
-->la query è corretta
if Trim (request("r1") <> "") then
sql = sql & "(regione like '%" &request("r1") &"%') and "
end if
-->la query non è corretta cioè se metto solo il valore di R1 funziona, se
metto un valore in R2 non mi da piu nessun record
if Trim (request("r2") <> "") then
sql = sql & "(regione like '%" &request("r2") &"%') and "
end if
-->la query non è corretta cioè se metto solo il valore di R1 funziona, se
metto un valore in R2 non mi da piu nessun record
if Trim (request("r3") <> "") then
sql = sql & "(regione like '%" &request("r3") &"%') and "
end if	
-->la query è corretta			
if Trim (request("radio") = "1") then
SQL = SQL & "Attivita order by Ragione_Sociale"
end if
-->la query è corretta
if Trim (request("radio") = "2") then
SQL = SQL & "attivita ORDER BY Nominativi.Fatturato DESC ,
qry_prov_reg.Regione, Nominativi.Provincia, Nominativi.Ragione_Sociale"	
end if
-->la query è corretta
if Trim (request("radio") = "3") then
SQL = SQL & " attivita ORDER BY qry_prov_reg.Regione,
Nominativi.Provincia, Nominativi.Ragione_Sociale"		
end if
In  sintesi ho problemi sulla parte R2 R3 se metto dei valori non ho piu
nessun record estratto, ho provato a cambiare AND con OR ma stessa cosa....
La logica è prendi i valori dentro "Attivita", filtra escludendo i valori
della query dentro "K1 K2 K3" filtra "R1 R2 R3" Order by "RADIO"
 
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Order by "RADIO"
In caso, puoi copiare qui la stringa SQL che ottieni filtrata del superfluo?
Ciao
-- 
AZ [Microsoft - .NET MVP]
Mia Home page: 
http://ciclismo.sitiasp.it
Asp.Net community: 
http://www.aspitalia.com
Il mio blog: 
http://blogs.aspitalia.com/az

 Ciao
ho provato a cambiare come hai detto tu ma... nulla...
'---Recupero le informazioni dalla pagina ricerca
	QSk1 = Request.QueryString("k1")
	QSk2 = Request.QueryString("k2")
	QSk3 = Request.QueryString("k3")
	QSr1 = Request.QueryString("r1")
	QSr2 = Request.QueryString("r2")
	QSr3 = Request.QueryString("r3")
	QSradio = Request.QueryString("radio")
	QSQuery = Request.QueryString("ricerca")
	QSPg = Int(Request.QueryString("pg"))
	If QSPg <= 0 Then
		QSPg = 1
	End If
If QSQuery <> "" Then
QSQuery = Replace(QSQuery, "'", "''")
ArrQuery = Split(QSQuery, " ")
SQL = " SELECT Nominativi.ID, Nominativi.Ragione_Sociale,
Nominativi.Provincia, Contatto11.Last_Name, Nominativi.Telefono,
Nominativi.Data_call, Nominativi.Fatturato, Nominativi.Attivita,
qry_prov_reg.Regione FROM (Nominativi LEFT JOIN qry_prov_reg ON
Nominativi.Provincia = qry_prov_reg.Sigla_Breve) LEFT JOIN Contatto11 ON
Nominativi.ID = Contatto11.ID_Nominativo WHERE "
For i = 0 to UBound(ArrQuery, 1)
SQL = SQL & "(attivita LIKE '%" & ArrQuery(i) & "%') AND "
Next
if Trim (request("k1") <> "") then 
sql = sql & "(attivita not like '%" &request("k1") &"%') and "
end if
if Trim (request("k2") <> "") then
sql = sql & "(attivita not like '%" &request("k2") &"%') and "
end if
if Trim (request("k3") <> "") then
sql = sql & "(attivita not like '%" &request("k3") &"%') and "
end if
if Trim (request("r1") <> "") then
sql = sql & "(regione like '%" &request("r1") &"%') and "
end if
if Trim (request("r2") <> "") then
sql = sql & "(regione like '%" &request("r2") &"%') and "
end if
if Trim (request("r3") <> "") then
sql = sql & "(regione like '%" &request("r3") &"%') and "
end if	
 
if Trim (request("radio") = "1") then
SQL = SQL & "Attivita order by Ragione_Sociale"
end if
if Trim (request("radio") = "2") then
SQL = SQL & "attivita ORDER BY Nominativi.Fatturato DESC ,
qry_prov_reg.Regione, Nominativi.Provincia, Nominativi.Ragione_Sociale"		
end if
if Trim (request("radio") = "3") then
SQL = SQL & " attivita ORDER BY qry_prov_reg.Regione,
Nominativi.Provincia, Nominativi.Ragione_Sociale"		
end if
 
 
RS.Open SQL, Conn, 1
'response.write sql 
'response.end
 
End If


 ho provato a cambiare come hai detto tu ma... nulla...
Il codice è chiaro, ma quale funzioni SQL risultano alla fine? Cioè, con
Response.Write(sql) che cosa ottieni nei tre casi?
Credo che sia l'unico modo per capire che problemi ci sono...
