Salve a tutti!
sto per impazzire. Per cui prima vorrei chiedervi un piccolissimo aiuto!
ho questo problema...
ho un db che contiene i dati riguardanti i bandi di un istituto! ora dovrei far in modo che alla scadenza del bando in automatico la categoria dello stesso, che normalmente è catalogato come "bando" cambi in "bando scaduto".
Ora ho visto che con datediff e dateadd o simili si può cercare di risolvere il problema, ma in quel caso si decide di aggiungere o10 o 15 o 2 giorni mentre invece a me i bandi non scadono tutti entro 15 giorni ma possono scadere anche dopo 20 o 30. per cui avevo pensato di inserire un nuovo campo nella tabella "scadenza" e avendo già quello dalle data appunto "data" fargli capire che se il bando ha una data maggiore della data attuale (credo sia "date()") allora la categoria del bando deve automaticamente cambiare in "bando scaduto". e queto il ragionamento che può essere sicuramente opinabile!
ora vi illustro il mio codice e quello che fino adesso sono riuscito a fare, senza però ottenere nessun risultato (ovviamente)!
questa la struttura del db (premetto che lavoro con access):
--------------------------------------
Nome Campo Tipo dati Descrizione
cod contatore contataore
nome memo il nome del bando
file testo il percorso da dove è possibile scaricare il bando
data data/ora la data di inserimento
cat memo la categoria cioè "bando o "bando scaduto"
scadenza data/ora la scadenza del bando
--------------------------------------
questa la pagine dei bandi (dove verso la fine ho commentato la parte in cui ho aggiunto le righe per la modifica "al volo" del record con la scritta
"'----inizio riga per cambiare la categoria--------
e
'----inizio riga per cambiare la categoria--------":
spero di essermi spiegato più o meno bene!codice:<% iPageSize = 10 'NUMERO RECORD PER PAGINA If Request.QueryString("page") = "" Then iPageCurrent = 1 Else iPageCurrent = CInt(Request.QueryString("page")) End If strSQL = "SELECT * FROM db where cat = 'bandi' or cat = 'Avvisi' order by data DESC" Set objRS = Server.CreateObject("ADODB.Recordset") objRS.PageSize = iPageSize objRS.CacheSize = iPageSize objRS.Open strSQL, objConn, adOpenStatic, adLockReadOnly, adCmdText reccount = objRS.recordcount iPageCount = objRS.PageCount If iPageCurrent > iPageCount Then iPageCurrent = iPageCount If iPageCurrent < 1 Then iPageCurrent = 1 If iPageCount = 0 Then Response.Write " <table><td><font face='verdana' size='2' color='#000000'>Non sono stati trovati dati.</td></table></p>" Else objRS.AbsolutePage = iPageCurrent iRecordsShown = 0 %> <table> <% cont=1 Do While iRecordsShown < iPageSize And Not objRS.EOF dim colore, colore2, scadenza, rsEventi colore="#ff0000" colore2="#000000" If objRS("pcat") = "Bandi" Then Response.Write "<tr><td>[img]immagini/jpg/zipimage_p.jpg[/img]<span class=""titolonews"">"&objRS("nome")&"</span> "& vbCrlf Response.Write "<font color='"& Colore2 &"' face='Verdana' size='1'>Inserito il [" & objRS("data") & "] </font> [img][/img]</td></tr>" Else Response.write " <TR><TD bgcolor=""#FF0000""><div align=""center""><font color=""#FFFFFF"" size=""2"" face=""Geneva, Arial, Helvetica, sans-serif"">AVVISO</font></div></TD></TR>" Response.Write "<tr><td>[img]immagini/jpg/zipimage_p.jpg[/img]<span class=""titolonews"">"&objRS("nome")&"</span> "& vbCrlf Response.Write "<font color='"& Colore &"' face='Verdana' size='1'>Inserito il [" & objRS("data") & "] </font> </td></tr>" Response.Write "<TR><TD bgcolor=""#FF0000""><div align=""center""></div></TD></TR>" end if '---------------------inizio riga per cambiare la categoria------------------------------- if objRS("data") > objRS("scadenza") then set rsEventi = Server.CreateObject("ADODB.Recordset") stringaConnessione = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db\db.mdb") conn.Open stringaConnessione rsEventi.ActiveConnection = stringaConnessione rsEventi.Source = "SELECT * FROM db" rsEventi.LockType = adLockOptimistic rsEventi.Open rsEventi.addNew rsEventi.Fields("cat") = Replace(request.form("cat"),"bando scaduto") rsEventi.Update rsEventi.Close Set rsEventi = Nothing Err.Clear On error resume next end if '---------------------fine riga per cambiare la categoria------------------------------- Cont = Cont + 1 'POSIZIONAMENTO ALLA RIGA SUCCESSIVA DEL DB iRecordsShown = iRecordsShown + 1 objRS.MoveNext Loop 'PULIZIA DEGLI OGGETTI ADO objRS.Close Set objRS = Nothing %> </table> <%End if%> <%If ipagecount <> 1 Then%> </p> <table> <tr> <td width="50%"><font face="verdana" size="1" color="#000000"> [ <%if iPageCurrent-2 > 0 and iPageCurrent > 2 then%> [img]images/first.gif[/img] <%end if%> <%if iPageCurrent > 1 then%> [img]images/pre.gif[/img] <%end if%> <%if iPageCount > 2 then if iPageCurrent-2 < 1 then da_pag = 1 else da_pag = iPageCurrent-2 if iPageCurrent+2 > iPageCount then fino_a_pag = iPageCount else fino_a_pag = iPageCurrent+2 else da_pag = 1 fino_a_pag = iPageCount end if%> <%for i = da_pag to fino_a_pag%> <%if i = iPageCurrent then%> <font color="red"> <%=i%> </font> <%else%> <a href="bandi.asp?page=<%=i%>"> <%=i%> </a> <%end if%> <%next%> <%if iPageCurrent > 0 and iPageCurrent < iPageCount then%> [img]images/next.gif[/img] <%end if%> <%if iPageCurrent+1 < iPageCount then%> [img]images/last.gif[/img] <%end if%> ] </font></td> </tr> <tr> <td colspan="2" align="left"><font face="verdana" size="1" color="#000000"> Pagina <font color="#FF0000"> <%=iPageCurrent%> </font> di <font color="#FF0000"> <%=iPageCount%> </font> </font></td> </tr> </table> <%end if%> <% objConn.Close Set objConn = Nothing %>
fatemi sapere perché non riesco ad uscirne

Rispondi quotando