Il y a quelques jours, certains internautes ont demandé : Comment afficher l'ensemble d'enregistrements ASP dans un affichage tabulaire à n colonnes. Maintenant, j'en ai écrit un pour la commodité de tous.
'Définir les variables
Dim cn,rs,Sql
Sql = "select CustomerID from Orders"
'Nombre total d'enregistrements
Dim Nombre Total
Définir cn = Server.CreateObject("ADODB.Connection")
cn.Open "Provider=SQLOLEDB.1;ID utilisateur=sa;Catalogue initial=NorthWind;Source de données=.;Mot de passe=;"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQL, cn, 3, 1
TotalNumber = rs.RecordCount
Si NombreTotal = 0 Alors
Response.Write "Aucune sortie enregistrée."
'www.downcodes.com
Autre
Dim jj,nGauche,cCol
jj = 0
nCol = 415
nLeft = nCol- (TotalNumber Mod nCol)
Si nLeft = nCol Alors nLeft = 0
Response.Write "<table border><tr>" & vbCrLf
Bien que ce ne soit pas rs.EOF
Réponse.Écrivez "<td>" & rs("CustomerID") & "</td>" & vbCrLf
'Si (jj Mod nCol) = (nCol - 1) Et jj <> TotalNumber - 1 Alors Response.Write "</tr><tr>" & vbCrLf
'Si (jj Mod nCol) = (nCol - 1) Et jj = TotalNumber-1 Alors Response.Write "</tr>" & vbCrLf
Si (jj Mod nCol) = (nCol - 1) Alors
Si jj <> TotalNumber - 1 Alors
Réponse.Écrire "</tr><tr>" & vbCrLf
Autre
Réponse.Écrire "</tr>" & vbCrLf
Fin si
Fin si
jj = jj + 1
rs.MoveNext
Wende
Si nLeft <> 0 Et nLeft <> nCol Alors
Si nCol < TotalNumber Alors
Pour i = 1 à nGauche
Réponse.Écrivez "<td> </td>" & vbCrLf
Suivant
Fin si
Réponse.Écrire "</tr>" & vbCrLf
Fin si
Réponse.Écrivez "</table>"
Fin si
rs.Fermer
Setrs=Rien
cn.Fermer
Définir cn = Rien
Réponse.Fin