<%@ Language=VBScript%> <% 'Impostiamo la dichiarazione obbligatoria delle variabili Option Explicit
'Implementiamo qualche costante dell'ADOVBS '---- CursorTypeEnum Values ---- Const adOpenForwardOnly = 0 Const adOpenKeyset = 1 Const adOpenDynamic = 2 Const adOpenStatic = 3 '---- LockTypeEnum Values ---- Const adLockReadOnly = 1 Const adLockPessimistic = 2 Const adLockOptimistic = 3 Const adLockBatchOptimistic = 4
'Dichiariamo tutte le variabili dello script Dim db, strSQL, Print_Table, Order, Field, strToolTip Dim objConn, objRS, fld
'Assegnamo il nome del database db = "archivio.mdb"
'Impostiamo la SQL strSQL = "SELECT * FROM tabella_archivio"
'Intercettiamo gli ordini di ordinamento dei record Order = Request.QueryString("order") Field = Request.QueryString("field")
'Completiamo la SQL aggiungendo l'eventuale ordinamento If Order <> "" Or Field <> "" Then If Order = "asc" Or Order = "desc" Then strSQL = strSQL & " ORDER BY [" & Field & "] " & Order End If End If
'Impostiamo i tooltip che compariranno sui link di ordinamento strToolTip = ""
'Invertiamo il tipo di ordinamento per la prossima selezione dell'utente 'Se è la prima volta che visualizziamo la tabella allora i dati non saranno ordinati, bensì saranno visualizzati così come inseriti nel db If Order = "" OR Order = "asc" Then Order = "desc" strToolTip = "Ordine decrescente" Else Order = "asc" strToolTip = "Ordine crescente" End If
'Iniziamo a costruire la tabella contenente 'i record che verrà visualizzata nel browser Print_Table = Print_Table & _ "<table cellspacing='2' cellpadding='2'>" & VbCrLf
'Apriamo la connessione Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ Server.MapPath(db)
'Dichiariamo il recordset e lo popoliamo con la SQL Set objRS = server.createobject("ADODB.recordset") objRS.Open strSQL, objConn, adOpenKeyset, adLockReadOnly
'Genero la prima riga della tabella contenente i nomi dei record If Not objRS.EOF Then Print_Table = Print_Table & "<tr>" & VbCrLf
'Generiamo per ogni campo del db un link per ricaricare la pagina 'passandole con una querystring il tipo di ordinamento da effettuare 'e il nome del campo su cui applicarlo For Each fld In objRS.Fields Print_Table = Print_Table & "<td><b><a href='list.asp?order=" & _ Order & "&field=" & fld.Name & "' title='" & _ strToolTip & "'>" & "<font face='tahoma' size='2'" & _ " color='red'>"& fld.Name & "</a></font></b></td>" & _ VbCrLf Next
Print_Table = Print_Table & "</tr>" & VbCrLf End If
'Completo la tabella generando le righe 'relative ai vari record presenti nel db Do While Not objRS.EOF Print_Table = Print_Table & "<tr>" & VbCrLf For Each fld In objRS.Fields Print_Table = Print_Table & "<td><font face='tahoma' size='2'>" & _ objRS(fld.Name) & "</font></td>" & VbCrLf Next
Print_Table = Print_Table & "</tr>" & VbCrLf objRS.MoveNext Loop
'Chiudiamo e distruggiamo il recordset objRS.Close Set objRS = Nothing
'Chiudiamo e distruggiamo il db objConn.close Set objConn = Nothing
'Con questa istruzione completiamo la tabella da visualizzare Print_Table = Print_Table & "</table>"
'Visualizziamo la tabella nel browser Response.Write "<html>" & VbCrLf & _ "<title>Ordinamento record - byluciani.com</title>" & _ VbCrLf & "<body>" & VbCrLf Response.Write "<center>" & VbCrLf & Print_Table & VbCrLf Response.Write "</center>" & VbCrLf & "</body>" & VbCrLf & "</html>" %>
|