Per selezionare tutti i valori in un campo di testo
si usa %
ES: if azienda="" then azienda="%"
come si fa com un campo numerico ??
if cat=0 then cat ???
grazie in anticipo..
Per selezionare tutti i valori in un campo di testo
si usa %
ES: if azienda="" then azienda="%"
come si fa com un campo numerico ??
if cat=0 then cat ???
grazie in anticipo..
eh? di cosa stai parlando?
in una tabella di ricerca, se voglio far trovare tutti i valori di testo di un determinato campo basta che passo l'istruzione % per i campi testo. Come faccio per i campi numerici ?
cat = request.form("cat")
if cat=0 then categ="%" (non funziona)
azienda=request.form("azienda")
if azienda="" then azienda="%"
citta=request.form("comune")
if citta="" or citta="SELEZIONA" then citta="%"
provincia=request.form("provincia")
if provincia="NO" then provincia="%"
Sql = "select * from categorie where cat = "& cat &" and provincia like '%"& provincia &"%' and azienda like '%"& azienda &"%' and citta like '%"& citta &"%' "
set MyConn=Server.CreateObject("ADODB.Connection")
MyConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("telextra.mdb")
Set rs = Server.createObject ("ADODB.Recordset")
rs.Open SQL, myconn
intanto la stringa di connessione va prima della query ti pare
poi chiudi gli if
infine credo che nessuno ti abbia capito
per recuperare il valore dei campi ammeno che tu non usi stored procedures
devi usare questa query per selezionare tutto:
select * from tabella
questaltro se vuoi recuperare solo una colonna
select colonna from tabella
infine fai un ciclo
while not rec.eof
count=count+1
citta(count)=rec.fields("citta")
rec.movenext
wend
chiudi il record ecc..ecc..
che giri inutili...
se voglio una selezione su un campo numerico
SELECT campi FROM tabella WHERE campo_numerico=9
se li voglio tutti
SELECT campi FROM tabella
![]()
la logica prima della tecnica...
guarda che ho scritto la stessa cosa
Si, capisco: in pratica suppongo che tu abbia un <select> nel quale elenchi, oltre alle singole categorie, anche una voce "tutte le categorie", giusto?Originariamente inviato da martenz
in una tabella di ricerca, se voglio far trovare tutti i valori di testo di un determinato campo basta che passo l'istruzione % per i campi testo. Come faccio per i campi numerici ?
cat = request.form("cat")
if cat=0 then categ="%" (non funziona)
azienda=request.form("azienda")
if azienda="" then azienda="%"
citta=request.form("comune")
if citta="" or citta="SELEZIONA" then citta="%"
provincia=request.form("provincia")
if provincia="NO" then provincia="%"
Sql = "select * from categorie where cat = "& cat &" and provincia like '%"& provincia &"%' and azienda like '%"& azienda &"%' and citta like '%"& citta &"%' "
set MyConn=Server.CreateObject("ADODB.Connection")
MyConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("telextra.mdb")
Set rs = Server.createObject ("ADODB.Recordset")
rs.Open SQL, myconn
Bene, modifica la tua SQL con questa:
In pratica devi trattare il campo numerico come se fosse una stringa, e quindi usare LIKE e gli apici, e non il segno di ugualecodice:"select * from categorie where cat like '"& cat &"' and provincia like '%"& provincia &"%' and azienda like '%"& azienda &"%' and citta like '%"& citta &"%' "
ATTENZIONE: non usare '%"& cat &"%' (nota i %) altrimenti, per es., se cerchi la categoria 5 ti estrae anche tutte le categorie che contengono un 5 (15, 25, 51, 152, ecc.)
Non so se ha effetti sulla performance, o se è "politically correct", ma senza dubbio funziona
Home: http://www.ivansweb.com
Le mie applicazioni gratuite in ASP
· IWGallery
· IWNewsletter
· IWMessenger
· IWGuestbook