2.584 messaggi dal 14 maggio 2001
Prova con:

strsql = "SELECT * FROM tbl_leggi WHERE tipo LIKE '% " & tipo & " %' "
If giorno<>"" then
strsql = strsql & " AND giorno LIKE '% " & giorno & " %'"
End If
If mese <>"" then
strsql = strsql & " AND mese LIKE '% " & mese & " %'"
End If
ecc...

L'operatore LIKE riduce le performance...
Una domanda hai tre campi per giorno, mese e anno? se sì di che formato sono e che cosa contengono?
Il mio è un motore di Leggi. I campi giorno, mese e anno servono per fare una ricerca delle Leggio in base anche al giorno, mese, anno. Sono dei menu a tendina.

Te li riporto:

<SELECT name=giorno>
<option>1 </option>
<option>2 </option>
<option>3 </option>
<option>4 </option>
<option>5 </option>
<option>6 </option>
<option>7 </option>
<option>8 </option>
<option>9 </option>
<option>10 </option>
<option>11 </option>
<option>12 </option>
<option>13 </option>
<option>14 </option>
<option>15 </option>
<option>16 </option>
<option>17 </option>
<option>18 </option>
<option>19 </option>
<option>20 </option>
<option>21 </option>
<option>22 </option>
<option>23 </option>
<option>24 </option>
<option>25 </option>
<option>26 </option>
<option>27 </option>
<option>28 </option>
<option>29 </option>
<option>30 </option>
<option>31</option>
</SELECT>
<SELECT name=mese>
<option value="1">gennaio </option>
<option value="2">febbraio </option>
<option value="3">marzo </option>
<option value="4">aprile </option>
<option value="5">maggio </option>
<option value="6">giugno </option>
<option value="7">luglio </option>
<option value="8">agosto </option>
<option value="9">settembre </option>
<option value="10">ottobre </option>
<option value="11">novembre </option>
<option value="12">dicembre</option>
</SELECT>
<SELECT name=anno>
<option>2003 </option>
<option>2002 </option>
<option>2001 </option>
<option>2000 </option>
<option>1999 </option>
<option>1998 </option>
<option>1997 </option>
<option>1996 </option>
ecc ecc

Non so se ho risposto alla tua domanda. Adesso provo a fare la modifica che mi hai scritto. Ciao
2.584 messaggi dal 14 maggio 2001
Se i campi giorno, mese e anno sono numerici o anceh testo puoi non usare il LIKE ma l'uguale...

Se numerico
strsql = strsql & " AND giorno = " & giorno

Se testo
strsql = strsql & " AND giorno = '" & giorno & "' "
Sono degli elenchi/menu. Adesso provo a fare la modifica che mi dicevi. Ti volevo chiedere anche questo. Come faccio a mettere nel form (ad esempio nel select giorno) un primo valore che non partecipi alla ricerca sul mio database nel momento in cui clicco invia? Lo dico perché se io voglio cercare una Legge solo in base al "tipo", voglio che in giorno, mese, anno non ci sia nessuna data e nessun valore che mi limiti la ricerca. Arigrazie!
2.584 messaggi dal 14 maggio 2001
Prova con:

<%
response.write "<SELECT name=giorno tabindex=1>"
response.write "<option value="""">(Giorno...)</option>"
For i=1 To 31
response.write "<option value=""" & i & """>" & i & "</option>"
Next
%>

E inserisci la ricerca nella seconda pagina con request.form("giorno")<>""
Ciao, sono stato un po' assente, ma sono tornato a disturbare ancora. Non ho ancora risolto il problema che a lungo a avevamo discusso e rileggendo i precedenti messaggi..... sono ancora confuso. Ti rimetto i codici delle due pagine che non mi vanno. Avresti ancora la pazienza di indirizzarmi verso la soluzione??

ricerca.htm
<form action="risultati.asp" method="POST">
<FONT face="Verdana, Arial, Helvetica, sans-serif"
size=2><B><font color="#FFCC00">Tipologia</font></B><font color="#FF9900"><BR>
<SELECT size=1 name=tipo>
<option value="AVVISO">Avviso </option>
<option value="CIRC. MIN.">Circolare Ministeriale </option>
<option value="CIRC. M.A.">Circ. Ministro dell'ambiente </option>
<option value="CIRC. P.C.M.">Circ. Pres. Cons. dei Ministri </option>
<option value="COM.">Comunicazione </option>
<option value="COST.">Costituzione Italiana </option>
<option value="D.DIRIG.">Decreto Dirigenziale </option>
<option value="D.L.">Decreto Legge </option>
<option value="D.Lgs.">Decreto Legislativo </option>
<option value="D.Lgs. C.P.S.">D. Lgs. Capo Provvisorio Stato </option>
<option value="D.Lgs. L.le">D. Lgs. Luogotenenziale </option>
<option value="D.M.">Decreto Ministeriale </option>
<option value="D.P.C.M.">Decr. Pres. Cons. dei Ministri </option>
<option value="D.P.R.">Decr. Pres. della Repubblica </option>
<option value="DEL.">Deliberazione </option>
<option value="DEL. C.I.P.E.">Deliberazioni C.I.P.E. </option>
<option value="DEL. CORTE COST.">Delibera Corte Costituzionale
</option>
<option value="DET.">Determinazione </option>
<option value="DIR. P.C.M.">Direttiva Pres. Cons. dei Ministri
</option>
<option value="L.">Legge </option>
<option value="L.C.">Legge Costituzionale </option>
<option value="O.M.">Ordinanza Ministeriale </option>
<option value="ORD.">Ordinanza </option>
<option value="O.P.C.M.">Ordinanze Pres. del Cons. dei Ministri
</option>
<option value="P.C.M.">Pres. del Cons. dei Ministri </option>
<option value="PROVV.">Provvedimento </option>
<option value="REG. CAMERA DEI DEPUTATI">Reg. della Camera dei
Deputati </option>
<option value="REG. SENATO">Regolamento del Senato </option>
<option value="R.D.">Regio decreto </option>
<option value="R.D.L.">Regio decreto legge </option>
<option value="R.D.Lgs.">Regio decreto legislativo</option>
<option>D.Lgs.</option>
</SELECT>
<BR>
<BR>
<IMG height=2 src="ricerca_file/vuoto.gif" width=1><BR>
<B><font color="#FFCC00">Data emanazione</font></B><BR>
<SELECT name=giorno>
<option>1 </option>
<option>2 </option>
<option>3 </option>
<option>30 </option>
<option>31</option>
</SELECT>
<SELECT name=mese>
<option value="1">gennaio </option>
<option value="2">febbraio </option>
<option value="3">marzo </option>
<option value="4">aprile </option>
<option value="5">maggio </option>
<option value="6">giugno </option>
<option value="7">luglio </option>
<option value="8">agosto </option>
<option value="9">settembre </option>
<option value="10">ottobre </option>
<option value="11">novembre </option>
<option value="12">dicembre</option>
</SELECT>
<SELECT name=anno>
<option>2003 </option>
<option>2002 </option>
<option>2001 </option>
<option>1865 </option>
<option>1864 </option>
<option>1850</option>
</SELECT>
<BR>
<BR>
<IMG height=2 src="ricerca_file/vuoto.gif" width=1><BR>
<B><font color="#FFCC00">Legge numero</font></B><font color="#FFCC00"><BR>
<INPUT maxLength=6 size=10 name=numero>
<BR>
<BR>
<IMG
height=2 src="ricerca_file/vuoto.gif" width=1><BR>
<B>Parole nel titolo</B><font size="1" color="#FFFFFF">: non è possibile
utilizzare operatori logici. Se si inseriscono più parole vengono
considerate unite dall'operatore AND</font><BR>
<INPUT name=titolo>
</font></font></FONT>
<P><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFCC00">
<INPUT
type=hidden value=1 name=c_start>
<INPUT type=hidden value=100 name=c_end>
<INPUT type=hidden value=100 name=inc>
<INPUT type=reset value=Cancella name="">
<input type="submit" name="Button" value="Ricerca" >
</font>
</FORM>


risultati.asp
<%
'collegamento con il database

set conn = Server.CreateObject("ADODB.Connection")
conn.provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(server.mappath("../mdb-database/archivio.mdb"))

set ris = Server.CreateObject("ADODB.Recordset")
ris.open "tbl_leggi",conn,3,3

'ricezione dati dal form
set tipo=request.form("tipo")
set giorno=request.form("giorno")
set mese=request.form("mese")
set anno=request.form("anno")
set numero=request.form("numero")
set titolo=request.form("titolo")
set url=request.form("url")

strsql = "SELECT * FROM tbl_leggi WHERE tipo LIKE '% " & tipo & " %' "
If giorno <>"" then
strsql = strsql & " AND giorno LIKE '% " & giorno & " %'"
End If
If mese <>"" then
strsql = strsql & " AND mese LIKE '% " & mese & " %'"
End If
If anno <>"" then
strsql = strsql & " AND anno LIKE '% " & mese & " %'"
End If
If numero <>"" then
strsql = strsql & " AND numero LIKE '% " & mese & " %'"
End If
If titolo <>"" then
strsql = strsql & " AND titolo LIKE '% " & mese & " %'"
End If

Set Rs = Conn.Execute(strsql)
If Rs.EOF Then
response.redirect("norisultati.asp")
Else

' i dati ci sono e li leggiamo con un ciclo di lettura fino all'ultimo
Do Until Rs.EOF

response.write "<br><font face='Impact' color='#000066'> Trovato </font>" & Rs("tipo") & "<font face='Impact' color='#000066'>, del </font>" & Rs("giorno") & "<font face='Impact' color='#000066'> / </font>" & Rs("mese") & "<font face='Impact' color='#000066'> / </font>" & Rs("anno") & "<font face='Impact' color='#000066'> - n° </font>" & Rs("numero") & "<font face='Impact' color='#000066'>. Titolo: </font>" & Rs ("titolo") & "<font face='Impact' color='#000066'>. Download: </font>" & Rs ("url") & "<br>"
' ci spostiamo al prossimo record
Rs.MoveNext

' ripetiamo il ciclo
Loop
End If

' chiudiamo gli oggetti e ripuliamo la memoria
Rs.Close
Set Rs = Nothing
Conn.Close
Set Conn = Nothing
%>

Ho aggiunto una pagina che si chiama norisultati.asp a cui si va se non ci sono risultati, come accade sempre, visto che non mi funziona!!

Grazie e scusa se ho scritto troppo, ma non vorrei non mettere qualche cosa che serve!!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.