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é: 13 989 / 546

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
 

Fichier 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

Commentaires et avis

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

Discussions en rapport avec ce code source dans le forum

Récupérer la liste des tables d'une base ACCESS en ASP .NET [ par vbtom ] Salut,Je recherche comment récupérer toutes les tables d'une base ACCESS XP(2002) en ASP .NetSI vous savez ca vous me sauver! ^^Merci d'avance!!++sPiR Lorsque la BD Access n'est pas accessible [ par matrix42d ] Bonjour !Actuellement, je développe un site en ASP.Je sais faire une connexion à la base de données avec et sans DNS. Aucun problème de ce côté.En fai MYSQL ACCESS [ par johnpelu ] est - il possible de migrer une base de données MYSQL vers une base de données ACCESS?Merci de me repondre Requete ACCESS avec tables liées [ par aitoz ] Bonjour,J'ai une base ACCESS 97 et une base en FOXPRO ! Dans ma base ACCESS j'ai créé dans liasons vers des tables FOXPRO. Je peux ainsi faire dans AC migration base access/mysql [ par desquesa ] Bonjour,je reprend le programme de quelqu'un .je dois migrer sa base access, vers une base mysql, mais je voudrais d'abord savoir comment connecter un mySql => Exporter les scripts des tables d'une base [ par nitrique ] Bonjour @ tous, J'aimerais (comme le dit le titre) exporter les scripts des tables d'une base sous mySql (avoir les: insert into).Un peu comme le fait Lier acces et mysql [ par la touffe ] bonjour,voila mon probleme:&nbsp;&nbsp;&nbsp;je travail dans un service d'autmatisme industrielle et je &nbsp;dois pour mon taf lier une base access & process tag html dans base de données access [ par valaidnew ] Bonjour à tous et toute, j'ai fait une base de données access contenant des textes pour tout un site, malheureusement parfois il me faut bien ajoute connexion a une base access en asp. [ par Dyr3e ] bonjour,je suis debutant en asp, et je cherhce a realiser une connexion a un BD access. Je voulias savoir si il etait possible d'acitver la connection Connexion à une base de données access [ par Xini28 ] Salut &#224; tous, Je cherches &#224; me connecter une base de donn&#233;es access gr&#226;ce &#224; ASP.Net, utilisant du VB.Net en langage &#233;gal


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,562 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.