begin process at 2008 08 22 00:01:16
1 229 717 membres
525 nouveaux aujourd'hui
14 267 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

UN VISUALISEUR DE BASE (ACCESS & MYSQL)


Information sur la source

Catégorie :Base de données Classé sous : visualiser, base, access, mysql, tables Niveau : Initié Date de création : 20/04/2001 Vu / téléchargé: 12 805 / 519

Note :
7,09 / 10 - par 11 personnes
7,09 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note


Description

Voila, j'ai pris une petite heure avant de me coucher pour vous faire ce petit script qui peut s'avérer utile surtout quand on a juste un navigateur sous la main.
Ce script vous permet de visualiser les tables d'une base, les propriétés de la connexion, et le contenu des tables, il permet aussi de trier par colonne de façon croissante ou décroissante.
J'ai essayé avec MySQL et ACCESS et cela semble passer, je pense que pour une BASE SQL Serveur, cela devrait marcher (si vous avez testé et que ça marche dites-le moi :) )
N'oubliez pas de changer les paramètres dans le haut dans "La Config"
Vous verrez, j'y ai intégré ma fonction de paging que j'avais déposé il y a qq jours sur le site.

Source

  • <%
  • Option Explicit
  • Response.Buffer = True
  • %>
  • <!--#include file="adovbs.inc"-->
  • <%
  • ' ************************************************************
  • ' Code Réalisé par Nicolas SOREL ( Nix pour les intimes :) )
  • ' Pour ASPFr.com
  • ' Retrouvez d'autres scripts ASP sur www.ASPFr.com
  • ' Vous avez le droit d'utiliser ce script dans vos pages mais si vous souhaitez
  • ' l'exposer sur un autre site de programmation merci de me contacter
  • ' (contact@vbfrance.com)
  • ' ************************************************************
  • %>
  • <html>
  • <head>
  • <title>Visualiseur de table d'une base de données</title>
  • </head>
  • <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#0000FF" alink="#FF0000">
  • <font face="Verdana" size="2">
  • <%
  • Dim NomPage, MonDSN, MaConnexion, ServerAddress, DBName, UID, Password
  • Dim NumPageEnCours, TaillePage, MaxPages, MaxEnrgs, CombienDeRecs, MonObjRS
  • Dim NbPropriete, MaReqSQL, NbChamp, i, j, AfficheTableSys, AfficheTable
  • NumPageEnCours = Request("quelpage")
  • If NumPageEnCours = "" then NumPageEnCours = 1
  • TaillePage = Request("taillepage")
  • If TaillePage = "" Then TaillePage = 16
  • ' Si vous souhaitez mettre vous même la taille maxi du nombre d'enregeistrement par page
  • ' mettez en commentaire les 2 lignes précédentes et mettez par ex : TaillePage = 16
  • ' *****************************************************
  • ' *************** La Config **************************
  • ' *****************************************************
  • ' Les choses paramètrablent sont ici :)
  • NomPage = Request.ServerVariables("SCRIPT_NAME") ' Nom du script (si vous souhaitez changer le nom du fichier ASP
  • AfficheTableSys = False ' Si vous souhaitez afficher les tables systèmes, mettez True
  • ' Config pour une Base MySQL
  • ServerAddress = "localhost" ' Serveur MySQL
  • DBName = "NomDeLaBase" ' Nom de la Base de données
  • UID = "VotreLogin" ' Nom d'utilisateur
  • Password = "VotreMotDePasse" ' Mot de Passe
  • ' Construcion de la chaine ODBC pour MySQL
  • MonDSN = "driver={MySql};server=" & ServerAddress & ";db=" & DBName & ";user id=" & UID & ";pwd=" & Password & ";option=16386"
  • ' Config pour une base ACCESS
  • ' Si vous voulez tester avec une base Access, mettez en commentaire les lignes
  • ' au dessus pour le paramètrage MySQL et "décommenté la ligne suivant en modifiant le nom du fichier
  • ' MonDSN = "DBQ=" & Server.MapPath("VotreFichierMDB.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
  • ' *****************************************************
  • ' *************** FIN Config *************************
  • ' *****************************************************
  • Set MaConnexion = Server.CreateObject("ADODB.Connection")
  • MaConnexion.ConnectionTimeout = 30
  • MaConnexion.CommandTimeout = 30
  • MaConnexion.Open MonDSN
  • ' Les propriétés de la connexion
  • If Request("prop") = "OUI" Then
  • %>
  • <div align="center"><font face="Verdana" size="2"><b><a href="<%=NomPage %>"><< Retour à la liste des tables</a></b></font></div>
  • <table border="1" cellspacing="0" cellpadding="4" align="center" bordercolor="#000000">
  • <tr><td bgcolor="#E0E0E0"><font face="Verdana" size="2"><b></b></font></td><td bgcolor="#E0E0E0"><font face="Verdana" size="2"><b>Propriétés de la connexion</b></font></td><td bgcolor="#E0E0E0"><font face="Verdana" size="2"><b>Valeur</b></font></td></tr>
  • <%
  • NbPropriete = MaConnexion.Properties.Count
  • For i = 0 to NbPropriete - 1
  • %><tr><td><font face="Verdana" size="2"><%=i%></font></td><td><font face="Verdana" size="2"><b><%=MaConnexion.Properties(i).Name%></b></font><td><font face="Verdana" size="2"><%=MaConnexion.Properties(i)%> </font></td></tr><%
  • Next
  • %>
  • </table>
  • <div align="center"><font face="Verdana" size="2"><b><a href="<%=NomPage %>"><< Retour à la liste des tables</a></b></font></div>
  • <%
  • End If
  • ' La liste des tables
  • If Request("table") = "" And Request("prop") = "" Then
  • %>
  • <table border="1" cellspacing="0" cellpadding="5" align="center" bordercolor="#000000">
  • <tr>
  • <td align="center" bgcolor="#E0E0E0"><font face="Verdana" size="2"><b>Liste des tables de la base "<%=MaConnexion.Properties(0)%>"<br>
  • Type de base : <%=MaConnexion.Properties(11)%></b></font></td>
  • </tr>
  • <%
  • Set MonObjRS = MaConnexion.OpenSchema(adSchemaTables)
  • Do While Not MonObjRS.EOF
  • AfficheTable = False
  • If AfficheTableSys = False Then
  • If MonObjRS.Fields("TABLE_TYPE") <> "SYSTEM TABLE" Then
  • AfficheTable = True
  • End If
  • Else
  • AfficheTable = True
  • End If
  • If AfficheTable = True Then Response.write "<tr><td><font face=""Arial"" size=""2""><b><A HREF=""" & NomPage & "?table=" & MonObjRS.Fields("TABLE_NAME") & """>" & MonObjRS.Fields("TABLE_NAME") & "</a> ( type : " & MonObjRS.Fields("TABLE_TYPE") & ")</font></td></tr>"
  • MonObjRS.MoveNext
  • Loop
  • %>
  • <tr>
  • <td align="center" bgcolor="#008000"><b>
  • <a href="<%=NomPage%>?prop=OUI"><font face="Verdana" size="2" color="#FFFFFF">Liste des propriétés de la connexion</font></a></b>
  • </td>
  • </tr>
  • </table>
  • <%
  • End If
  • ' Affiche le contenu d'une table
  • If Request("table") <> "" Then
  • Set MonObjRS = Server.CreateObject("ADODB.RecordSet")
  • MonObjRS.cursorlocation = aduseclient
  • MonObjRS.cachesize = 5
  • MaReqSQL = "SELECT * FROM " & Request("table")
  • If Request("ASC") <> "" Then
  • ' Si un champ à été cliqué pour un affichage Ascendant
  • MaReqSQL = MaReqSQL & " ORDER BY " & Request("ASC") & " ASC"
  • ElseIf Request("DESC") <> "" Then
  • ' Si un champ à été cliqué pour un affichage Descendant
  • MaReqSQL = MaReqSQL & " ORDER BY " & Request("DESC") & " DESC"
  • End If
  • MaReqSQL = MaReqSQL & ";"
  • MonObjRS.Open MaReqSQL, MaConnexion
  • MonObjRS.pagesize = TaillePage
  • MaxPages = CInt(MonObjRS.pagecount)
  • MaxEnrgs = CInt(MonObjRS.pagesize)
  • If Not MonObjRS.EOF Then MonObjRS.absolutepage = NumPageEnCours
  • CombienDeRecs = 0
  • NbChamp = MonObjRS.Fields.count
  • %>
  • <table border="0" cellspacing="0" cellpadding="4" align="center">
  • <tr>
  • <td><font face="Verdana" size="2"><b><a href="<%=NomPage %>"><< Retour à la liste des tables</a></b></font></td>
  • <td><font face="Verdana" size="2">Base : <b><%=MaConnexion.Properties(0)%></b></font></td>
  • <td><font face="Verdana" size="2">Table : <b><%=request("table")%></b> qui a <%=NbChamp%> champ(s)</font></td>
  • <%If Request("ASC") <> "" Then%>
  • <td><font face="Verdana" size="2">Tri ascendant sur le champ : <b><%=request("ASC")%></b></font></td>
  • <%ElseIf Request("DESC") <> "" Then%>
  • <td><font face="Verdana" size="2">Tri descendant sur le champ : <b><%=request("DESC")%></b></font></td>
  • <%End If%>
  • </tr>
  • </table><br>
  • <table width="100%" border="1" cellspacing="0" cellpadding="2" align="center" bordercolor="#000000">
  • <tr>
  • <%
  • For j = 0 To NbChamp - 1
  • Response.write "<td bgcolor=""#E0E0E0""><font face=""Verdana"" size=""2""><b>" & MonObjRS.Fields(j).Name & "</b><br><font size=""1""><b><A HREF=""" & NomPage & "?table=" & Request("table") & "&ASC=" & MonObjRS.Fields(j).Name & """>ASC</A>/<A HREF=""" & NomPage & "?table=" & Request("table") & "&DESC=" & MonObjRS.Fields(j).Name & """>DESC</A></b></font><br>( type : " & MonObjRS.Fields(j).Type & ")</font></td>"
  • Next
  • %>
  • </tr>
  • <%
  • Do UNTIL MonObjRS.EOF OR CombienDeRecs >= MaxEnrgs
  • Response.write "<tr>"
  • For j = 0 To NbChamp - 1
  • Response.write "<td><font face=""Arial"" size=""2"">" & MonObjRS.Fields(j).Value & "</font></td>"
  • Next
  • Response.write "</tr>"
  • CombienDeRecs = CombienDeRecs + 1
  • MonObjRS.MoveNext
  • Loop
  • %>
  • </tr>
  • </table>
  • <%Call PagingBar()%>
  • <%
  • End If
  • %>
  • <br><br><div align="right"><font face="Verdana" size="1">Réalisé par N.SOREL<br>D'autres Scripts ASP sur <a href="http://www.aspfr.com/">ASPFr.com</a></font></div>
  • </font>
  • </body>
  • </html>
  • <%
  • On Error Resume Next
  • MonObjRS.Close
  • Set MonObjRS = Nothing
  • MaConnexion.CLose
  • Set MaConnexion = Nothing
  • %>
  • <%
  • Sub PagingBar()
  • Dim StrHTML
  • Dim PageEnCours
  • Dim CompteurFin, CompteurDebut
  • Dim i, LesVars
  • Dim Item
  • If MaxPages <> 0 Then
  • PageEnCours = Request.ServerVariables("script_name")
  • Response.Write "<table rows=""1"" cols=""1"" width=""97%""><tr>"
  • Response.Write "<td>"
  • Response.Write "<font size=""2"" color=""#000000"" face=""Verdana, Arial,Helvetica, sans-serif"">"
  • LesVars = ""
  • For each Item In Request.Form
  • If LCase(Item) <> "quelpage" And LCase(Item) <> "taillepage" Then
  • LesVars = LesVars & "&" & LCase(Item) & "=" & server.URLencode(Request.Form(Item))
  • End If
  • Next
  • For each Item In Request.QueryString
  • If LCase(Item) <> "quelpage" And LCase(Item) <> "taillepage" Then
  • LesVars = LesVars & "&" & LCase(Item) & "=" & server.URLencode(Request.QueryString(Item))
  • End If
  • Next
  • If (NumPageEnCours mod 10) = 0 Then
  • CompteurDebut = PageEnCours - 9
  • Else
  • CompteurDebut = NumPageEnCours - (NumPageEnCours mod 10) + 1
  • End If
  • CompteurFin = CompteurDebut + 9
  • If CompteurFin > MaxPages Then CompteurFin = MaxPages
  • If CompteurDebut <> 1 Then
  • StrHTML = "<a href=""" & PageEnCours
  • StrHTML = StrHTML & "?quelpage=" & 1
  • StrHTML = StrHTML & "&taillepage=" & TaillePage
  • StrHTML = StrHTML & LesVars
  • StrHTML = StrHTML & """>Première page</a> : "
  • Response.Write StrHTML
  • StrHTML = "<a href=""" & PageEnCours
  • StrHTML = StrHTML & "?quelpage=" & (CompteurDebut - 1)
  • StrHTML = StrHTML & "&taillepage=" & TaillePage
  • StrHTML = StrHTML & LesVars
  • StrHTML = StrHTML & """>10 pages Précédente</a> <br>"
  • Response.Write StrHTML
  • End If
  • Response.Write "["
  • For i = CompteurDebut To CompteurFin
  • If cstr(i) <> Cstr(NumPageEnCours) Then
  • StrHTML = "<a href=""" & PageEnCours
  • StrHTML = StrHTML & "?quelpage=" & i
  • StrHTML = StrHTML & "&taillepage=" & TaillePage
  • StrHTML = StrHTML & LesVars
  • StrHTML = StrHTML & """>Page " & i & "</a>"
  • Else
  • StrHTML = "<b>Page " & i & "</b>"
  • End If
  • Response.Write StrHTML
  • If i <> CompteurFin Then Response.Write " "
  • Next
  • Response.Write "]"
  • If CompteurFin <> MaxPages Then
  • StrHTML = "<br><a href=""" & PageEnCours
  • StrHTML = StrHTML & "?quelpage=" & (CompteurFin + 1)
  • StrHTML = StrHTML & "&taillepage=" & TaillePage
  • StrHTML = StrHTML & LesVars
  • StrHTML = StrHTML & """>10 pages Suivantes</a>"
  • Response.Write StrHTML
  • StrHTML = " : <a href=""" & PageEnCours
  • StrHTML = StrHTML & "?quelpage=" & MaxPages
  • StrHTML = StrHTML & "&taillepage=" & TaillePage
  • StrHTML = StrHTML & LesVars
  • StrHTML = StrHTML & """>Dernière page</a>"
  • Response.Write StrHTML
  • End If
  • Response.Write "<br></font>"
  • Response.Write "</td>"
  • Response.Write "</table>"
  • End If
  • End Sub
  • %>
<%
	Option Explicit
	Response.Buffer = True
%>
<!--#include file="adovbs.inc"-->
<%
	' ************************************************************
	' Code Réalisé par Nicolas SOREL ( Nix pour les intimes :) )
	' Pour ASPFr.com
	' Retrouvez d'autres scripts ASP sur www.ASPFr.com
	' Vous avez le droit d'utiliser ce script dans vos pages mais si vous souhaitez
	' l'exposer sur un autre site de programmation merci de me contacter 
	' (contact@vbfrance.com)
	' ************************************************************
%>
<html>
<head>
	<title>Visualiseur de table d'une base de données</title>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#0000FF" alink="#FF0000">
<font face="Verdana" size="2">
<%

	Dim NomPage, MonDSN, MaConnexion, ServerAddress, DBName, UID, Password
    Dim NumPageEnCours, TaillePage, MaxPages, MaxEnrgs, CombienDeRecs, MonObjRS
	Dim NbPropriete, MaReqSQL, NbChamp, i, j, AfficheTableSys, AfficheTable
	
    NumPageEnCours = Request("quelpage")
    If NumPageEnCours = "" then NumPageEnCours = 1
    TaillePage = Request("taillepage")
    If  TaillePage = "" Then TaillePage = 16
    ' Si vous souhaitez mettre vous même la taille maxi du nombre d'enregeistrement par page
    ' mettez en commentaire les 2 lignes précédentes et mettez par ex : TaillePage = 16

' *****************************************************
' ***************  La Config **************************
' *****************************************************

' Les choses paramètrablent sont ici :)
	NomPage = Request.ServerVariables("SCRIPT_NAME") ' Nom du script (si vous souhaitez changer le nom du fichier ASP
	AfficheTableSys = False ' Si vous souhaitez afficher les tables systèmes, mettez True
	
	' Config pour une Base MySQL
	ServerAddress = "localhost" ' Serveur MySQL
	DBName = "NomDeLaBase" ' Nom de la Base de données
	UID = "VotreLogin" ' Nom d'utilisateur
	Password = "VotreMotDePasse" ' Mot de Passe
	' Construcion de la chaine ODBC pour MySQL
	MonDSN = "driver={MySql};server=" & ServerAddress & ";db=" & DBName & ";user id=" & UID & ";pwd=" & Password & ";option=16386"
	
	' Config pour une base ACCESS
	' Si vous voulez tester avec une base Access, mettez en commentaire les lignes
	' au dessus pour le paramètrage MySQL et "décommenté la ligne suivant en modifiant le nom du fichier
	' MonDSN = "DBQ=" & Server.MapPath("VotreFichierMDB.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"

' *****************************************************
' ***************  FIN Config *************************
' *****************************************************

	Set MaConnexion = Server.CreateObject("ADODB.Connection")
		MaConnexion.ConnectionTimeout = 30	
		MaConnexion.CommandTimeout = 30
		MaConnexion.Open MonDSN

	' Les propriétés de la connexion
	If Request("prop") = "OUI" Then
	%>
<div align="center"><font face="Verdana" size="2"><b><a href="<%=NomPage %>"><< Retour à la liste des tables</a></b></font></div>
<table border="1" cellspacing="0" cellpadding="4" align="center" bordercolor="#000000">
	<tr><td bgcolor="#E0E0E0"><font face="Verdana" size="2"><b>N°</b></font></td><td bgcolor="#E0E0E0"><font face="Verdana" size="2"><b>Propriétés de la connexion</b></font></td><td bgcolor="#E0E0E0"><font face="Verdana" size="2"><b>Valeur</b></font></td></tr>
		<%
		NbPropriete = MaConnexion.Properties.Count 
		For i = 0 to NbPropriete - 1
			%><tr><td><font face="Verdana" size="2"><%=i%></font></td><td><font face="Verdana" size="2"><b><%=MaConnexion.Properties(i).Name%></b></font><td><font face="Verdana" size="2"><%=MaConnexion.Properties(i)%> </font></td></tr><%
		Next
		%>
</table>
<div align="center"><font face="Verdana" size="2"><b><a href="<%=NomPage %>"><< Retour à la liste des tables</a></b></font></div>
<%
	End If
	
	' La liste des tables
	If Request("table") = "" And Request("prop") = "" Then
%>
	<table border="1" cellspacing="0" cellpadding="5" align="center" bordercolor="#000000">
		<tr>
			<td align="center" bgcolor="#E0E0E0"><font face="Verdana" size="2"><b>Liste des tables de la base "<%=MaConnexion.Properties(0)%>"<br>
			Type de base : <%=MaConnexion.Properties(11)%></b></font></td>
		</tr>
		<%
		Set MonObjRS = MaConnexion.OpenSchema(adSchemaTables)
		Do While Not MonObjRS.EOF
			AfficheTable = False
			If AfficheTableSys = False Then
				If MonObjRS.Fields("TABLE_TYPE") <> "SYSTEM TABLE" Then
					AfficheTable = True
				End If
			Else
				AfficheTable = True
			End If
			If AfficheTable = True Then Response.write "<tr><td><font face=""Arial"" size=""2""><b><A HREF=""" & NomPage & "?table=" & MonObjRS.Fields("TABLE_NAME") & """>" & MonObjRS.Fields("TABLE_NAME") & "</a> ( type : " & MonObjRS.Fields("TABLE_TYPE") & ")</font></td></tr>"
			MonObjRS.MoveNext
		Loop
		%>
		<tr>
			<td align="center" bgcolor="#008000"><b>
				<a href="<%=NomPage%>?prop=OUI"><font face="Verdana" size="2" color="#FFFFFF">Liste des propriétés de la connexion</font></a></b>
			</td>
		</tr>
	</table>
<%
	End If

	' Affiche le contenu d'une table
	If Request("table") <> "" Then
		Set MonObjRS = Server.CreateObject("ADODB.RecordSet")
	    MonObjRS.cursorlocation = aduseclient
	    MonObjRS.cachesize = 5
		MaReqSQL = "SELECT * FROM " & Request("table")
		If Request("ASC") <> "" Then
			' Si un champ à été cliqué pour un affichage Ascendant
			MaReqSQL = MaReqSQL & " ORDER BY " & Request("ASC") & " ASC"
		ElseIf Request("DESC") <> "" Then
			' Si un champ à été cliqué pour un affichage Descendant
			MaReqSQL = MaReqSQL & " ORDER BY " & Request("DESC") & " DESC"
		End If
		MaReqSQL = MaReqSQL & ";"
		MonObjRS.Open MaReqSQL, MaConnexion
	    MonObjRS.pagesize = TaillePage
	    MaxPages = CInt(MonObjRS.pagecount)
	    MaxEnrgs = CInt(MonObjRS.pagesize)
	    If Not MonObjRS.EOF Then MonObjRS.absolutepage = NumPageEnCours
	    CombienDeRecs = 0
		NbChamp = MonObjRS.Fields.count
%>
<table border="0" cellspacing="0" cellpadding="4" align="center">
	<tr>
		<td><font face="Verdana" size="2"><b><a href="<%=NomPage %>"><< Retour à la liste des tables</a></b></font></td>
		<td><font face="Verdana" size="2">Base : <b><%=MaConnexion.Properties(0)%></b></font></td>
		<td><font face="Verdana" size="2">Table : <b><%=request("table")%></b> qui a <%=NbChamp%> champ(s)</font></td>
	<%If Request("ASC") <> "" Then%>
			<td><font face="Verdana" size="2">Tri ascendant sur le champ : <b><%=request("ASC")%></b></font></td>
	<%ElseIf Request("DESC") <> "" Then%>
			<td><font face="Verdana" size="2">Tri descendant sur le champ : <b><%=request("DESC")%></b></font></td>
	<%End If%>
	</tr>
</table><br>
	<table width="100%" border="1" cellspacing="0" cellpadding="2" align="center" bordercolor="#000000">
		<tr>
		<%
			For j = 0 To NbChamp - 1
				Response.write "<td bgcolor=""#E0E0E0""><font face=""Verdana"" size=""2""><b>" & MonObjRS.Fields(j).Name & "</b><br><font size=""1""><b><A HREF=""" & NomPage & "?table=" & Request("table") & "&ASC=" & MonObjRS.Fields(j).Name & """>ASC</A>/<A HREF=""" & NomPage & "?table=" & Request("table") & "&DESC=" & MonObjRS.Fields(j).Name & """>DESC</A></b></font><br>( type : " & MonObjRS.Fields(j).Type & ")</font></td>"
			Next
		%>
		</tr>
		<%
	    Do UNTIL MonObjRS.EOF OR CombienDeRecs >= MaxEnrgs
			Response.write "<tr>"
			For j = 0 To NbChamp - 1
				Response.write "<td><font face=""Arial"" size=""2"">" & MonObjRS.Fields(j).Value & "</font></td>"
			Next
			Response.write "</tr>"
	        CombienDeRecs = CombienDeRecs + 1
			MonObjRS.MoveNext
		Loop
		%>
		</tr>
	</table>
	<%Call PagingBar()%>
<%
	End If
%>
<br><br><div align="right"><font face="Verdana" size="1">Réalisé par N.SOREL<br>D'autres Scripts ASP sur <a href="http://www.aspfr.com/">ASPFr.com</a></font></div>
</font>
</body>
</html>
<%
	On Error Resume Next
	MonObjRS.Close
	Set MonObjRS = Nothing
	MaConnexion.CLose
	Set MaConnexion = Nothing
%>
<%
Sub PagingBar()
    Dim StrHTML
    Dim PageEnCours
    Dim CompteurFin, CompteurDebut
    Dim i, LesVars
    Dim Item
	
    If MaxPages <> 0 Then
        PageEnCours = Request.ServerVariables("script_name")
        Response.Write "<table rows=""1"" cols=""1"" width=""97%""><tr>"
        Response.Write "<td>"
        Response.Write "<font size=""2"" color=""#000000"" face=""Verdana, Arial,Helvetica, sans-serif"">"
        LesVars = ""
        For each Item In Request.Form
            If LCase(Item) <> "quelpage" And LCase(Item) <> "taillepage" Then
                LesVars = LesVars & "&" & LCase(Item) & "=" & server.URLencode(Request.Form(Item))
            End If
        Next
        For each Item In Request.QueryString
            If LCase(Item) <> "quelpage" And LCase(Item) <> "taillepage" Then
                LesVars = LesVars & "&" & LCase(Item) & "=" & server.URLencode(Request.QueryString(Item))
            End If
        Next
        If (NumPageEnCours mod 10) = 0 Then
            CompteurDebut = PageEnCours - 9
        Else
            CompteurDebut = NumPageEnCours - (NumPageEnCours mod 10) + 1
        End If

        CompteurFin = CompteurDebut + 9
        If CompteurFin > MaxPages Then CompteurFin = MaxPages
        If CompteurDebut <> 1 Then
            StrHTML = "<a href=""" & PageEnCours
            StrHTML = StrHTML & "?quelpage=" & 1
            StrHTML = StrHTML & "&taillepage=" & TaillePage
            StrHTML = StrHTML & LesVars
            StrHTML = StrHTML & """>Première page</a> : "
            Response.Write StrHTML
            StrHTML = "<a href=""" & PageEnCours
            StrHTML = StrHTML & "?quelpage=" & (CompteurDebut - 1)
            StrHTML = StrHTML & "&taillepage=" & TaillePage
            StrHTML = StrHTML & LesVars
            StrHTML = StrHTML & """>10 pages Précédente</a> <br>"
            Response.Write StrHTML
        End If
        Response.Write "["
        
        For i = CompteurDebut To CompteurFin
            If cstr(i) <> Cstr(NumPageEnCours) Then
                StrHTML = "<a href=""" & PageEnCours
                StrHTML = StrHTML & "?quelpage=" & i
                StrHTML = StrHTML & "&taillepage=" & TaillePage
                StrHTML = StrHTML & LesVars
                StrHTML = StrHTML & """>Page " & i & "</a>"
            Else
                StrHTML = "<b>Page " & i & "</b>"
            End If
            Response.Write StrHTML

            If i <> CompteurFin Then Response.Write " "
        Next
        Response.Write "]"

        If CompteurFin <> MaxPages Then
            StrHTML = "<br><a href=""" & PageEnCours
            StrHTML = StrHTML & "?quelpage=" & (CompteurFin + 1)
            StrHTML = StrHTML & "&taillepage=" & TaillePage
            StrHTML = StrHTML & LesVars
            StrHTML = StrHTML & """>10 pages Suivantes</a>"
            Response.Write StrHTML
            StrHTML = " : <a href=""" & PageEnCours
            StrHTML = StrHTML & "?quelpage=" & MaxPages
            StrHTML = StrHTML & "&taillepage=" & TaillePage
            StrHTML = StrHTML & LesVars
            StrHTML = StrHTML & """>Dernière page</a>"
            Response.Write StrHTML
        End If
        Response.Write "<br></font>"
        Response.Write "</td>"
        Response.Write "</table>"
    End If
End Sub
%>

Conclusion

J'essayerai de rajouter des options genre exportation d'une table en CSV etc...
Ha oui, il vous faut le fichier adovbs.inc inclus dans le ZIP
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de ArnaudPettes le 18/01/2002 11:21:17

    Simple et bien fait. Utile pour visualiser les bases avant de passer à des traitements plus lourd

  • signaler à un administrateur
    Commentaire de dvtnet le 26/12/2003 17:30:37

    Cela fonctionne pour SQL Server 2000

    Pour ma part j'ai déclaré MonDSN comme suit (cela ne fonctionné pas avec la définition de base)
    MonDSN ="Provider=SQLOLEDB.1;User ID=xx;pwd=xx;Initial Catalog=BaseProduits;Data Source=B0440055;"

    data Source peut être remplacé par l'adresse IP

    Pour la pagination sur une table de plusieurs dizaines de page j'ai modifié le code qui planté (vers la fin du programme j'ai mis le code de départ en commentaiire, il y a deux modifs) !!!!


            If (NumPageEnCours mod 10) = 0 Then
        '        CompteurDebut = PageEnCours - 9
                CompteurDebut = NumPageEnCours - (NumPageEnCours mod 10) + 1
            Else
                CompteurDebut = NumPageEnCours - (NumPageEnCours mod 10) + 1
            End If

            CompteurFin = CompteurDebut + 9
            If CompteurFin &gt; MaxPages Then CompteurFin = MaxPages
            If CompteurDebut &lt;&gt; 1 Then
                StrHTML = "&lt;a href=""" & PageEnCours
                StrHTML = StrHTML & "?quelpage=" & 1
                StrHTML = StrHTML & "&taillepage=" & TaillePage
                StrHTML = StrHTML & LesVars
                StrHTML = StrHTML & """&gt;Première page&lt;/a&gt; : "
                Response.Write StrHTML
                StrHTML = "&lt;a href=""" & PageEnCours
         '       StrHTML = StrHTML & "?quelpage=" & (CompteurDebut - 1)
                StrHTML = StrHTML & "?quelpage=" & (CompteurDebut - 10)
                StrHTML = StrHTML & "&taillepage=" & TaillePage
                StrHTML = StrHTML & LesVars
                StrHTML = StrHTML & """&gt;10 pages Précédente&lt;/a&gt; &lt;br&gt;"
                Response.Write StrHTML
            End If

  • signaler à un administrateur
    Commentaire de zokar le 28/05/2004 13:13:29

    Merci pour ce code source...

    Juste pour dire que je l'ai fait fonctionner avec SQL Server...

    Si ca interresse quelqu'un :)

    @+

  • signaler à un administrateur
    Commentaire de FredArmoni le 17/11/2004 09:24:53 administrateur CS

    j'ai une erreur sur le script + modifications de dvnet :
    Type d'erreur :
    Microsoft Cursor Engine (0x80004005)
    Un état E_FAIL a été renvoyé par le fournisseur de données ou par un autre service.
    /test/aspetmysql/basenav.asp, line 128


    la ligne en question :
        MaxPages = CInt(MonObjRS.pagecount)

    pour info la table a 244 records et 34 champs
    bdd MySQL

    Le scrip sur une autre table fonctionne parfaitement

    Si vous pouviez m'aider, je ne suis pas un utilisateur ASP... et compte donc sur vous.
    Merci

  • signaler à un administrateur
    Commentaire de dvtnet le 18/11/2004 09:59:25

    J'ai déja eu cette erreur "80004005" c'était le nom du DSN utilisé qui était KO.
    Vérifies la validité de ta chaine de connexion MonDsn.
    Est ce que tu as le problème pour toutes les tables de cette base de données ?
    La table qui fonctionne est elle dans la même base de données ?

  • signaler à un administrateur
    Commentaire de FredArmoni le 18/11/2004 11:17:19 administrateur CS

    non, ce n'est pas le problème étant donné que j'ai cette erreur pour une table et pas l'autre.

  • signaler à un administrateur
    Commentaire de ghuysmans99 le 21/07/2006 15:45:36

    nix, un autre truc : n'utilise pas les fichiers .inc car n'importe quel utilisdateur avertis(ou tout a fait idiot) sait avoir le code source ...

Ajouter un commentaire

Pub



Appels d'offres