Accueil > > > ASP - VOIR TABLES SUR BD ACCESS, SQL, ORACLE
ASP - VOIR TABLES SUR BD ACCESS, SQL, ORACLE
Information sur la source
Description
Même code que l'autre sauf qu'il n'y a plus la balises HTML dans la visu sur VBFrance, donc enfin lisible!! ;-)
prochaine évolutions : modification des tables
Source
- <%
- '***********************************************************
- ' Cette page permet de visualiser le contenu d'une table
- ' sans en connaitre les champs.
- ' Seule obligation : indiquer les informations de connexion
- ' et la requete SQL
- '***********************************************************
- ' auteur : Renaud COLAS - r.colas@bigfoot.com
- ' date : 23/08/2000
- ' inputs : ceux du FORM
- ' output : tableau HTML du recordset de la requete
- '***********************************************************
-
- option explicit
- Response.buffer = true
-
- ' Constantes de Bases de Données
- Const adLockReadOnly = 1
- Const adLockOptimistic = 3
- Const adOpenDynamic = 2
- Const adOpenStatic = 3
- Const adOpenKeyset = 1
- ' Constante de formattage
- const font = "face=""arial"" color=""#000000"" size=""2"""
-
- ' définition des variables et récupération des paramètres du FORM
- dim conn, rs, connstring, i, errMsg
- dim SQL, BASE, USER, PWD, SVR_CHEM, CONN_TYPE, ACTION, CHEM_RELATIF
- SQL = Ucase(trim(request("SQL")))
- BASE = Ucase(trim(request("BASE")))
- USER = trim(request("USER"))
- PWD = trim(request("PWD"))
- SVR_CHEM = Ucase(trim(request("SVR_CHEM")))
- CONN_TYPE = Ucase(trim(request("CONN_TYPE")))
- ACTION = Ucase(trim(request("ACTION")))
- CHEM_RELATIF = Ucase(trim(request("CHEM_RELATIF")))
- errMsg = ""
-
- ' Vérification qu'un chemin absolu n'est pas passé comme chemin relatif
- if CHEM_RELATIF="OUI" and inStr(SVR_CHEM,":")>0 then
- errMsg = "<font color=red><b>ERREUR :</b></font> Un chemin relatif n'indique pas de lettre de lecteur ! (exemple : /rep_bases/base.mdb)<br>Vous avez entré :<b>" & SVR_CHEM & "</b>"
- end if
- if (inStr(SVR_CHEM,":")>0 OR inStr(SVR_CHEM,"/")>0) and CONN_TYPE<>"ACCESS" then
- errMsg = "<font color=red><b>ERREUR :</b></font> Votre nom de serveur parait être un chemin...<br>SQL a besoin d'un nom de serveur (exemple : MONSERVEURWEB)<br>Vous avez entré :<b>" & SVR_CHEM & "</b>"
- end if
-
- ' Création de la chaine de connexion
- if ACTION="ENVOYER" AND errMsg="" then
- select case CONN_TYPE
- case "SQL"
- 'connexion ADO vers SQL -------------------
- Set conn = server.CreateObject("ADODB.Connection")
- connstring = "driver={SQL Server};" _
- & "server=" & SVR_CHEM & ";" _
- & "uid=" & USER & ";" _
- & "pwd=" & PWD & ";" _
- & "database=" & BASE & ""
- conn.open connstring
- 'FIN ADO vers SQL -------------------
-
- case "ACCESS"
- 'connexion ADO vers Access ----------------
- Set conn = Server.CreateObject("ADODB.Connection")
- connstring="DRIVER={Microsoft Access Driver (*.mdb)};UserCommitSync=Yes;Threads=3;SafeTransactions=0;ReadOnly=0;PageTimeout=1;MaxScanRows=8;MaxBufferSize=2048;FIL=MS Access;DriverId=281;"
- if CHEM_RELATIF="OUI" then
- connstring = connstring & "DBQ=" & server.mappath(SVR_CHEM)
- else
- connstring = connstring & "DBQ=" & SVR_CHEM
- end if
- conn.Open connstring,USER,PWD
- 'FIN ADO vers Access ----------------
-
- case "ORACLE"
- 'connexion ADO vers Oracle ----------------
- Set conn = Server.CreateObject("ADODB.Connection")
- connstring = "driver={Microsoft ODBC for Oracle};" _
- & "server=" & SVR_CHEM & ";" _
- & "uid=" & USER & ";" _
- & "pwd=" & PWD & ";" _
- & "database=" & BASE & ""
- conn.open connstring
- 'FIN ADO vers Oracle ----------------
-
- case else
- SQL = ""
- ACTION = ""
- errMsg = "Désolé, type de connexion non géré pour l'instant..."
-
- end SELECT
-
- end if
-
- ' fonction qui affiche le contenu de la table
- function affTable()
- set rs = server.createObject("ADODB.Recordset")
- rs.open SQL, conn,adLockOptimistic, adOpenDynamic
- ' affichage du nombre d'enregistrements
- response.write "<b>" & rs.recordCount & " enregistrements</b>"
- response.write "<table border=1 bordercolor=#AAAAC9 cellpadding=2 cellspacing=0 style=""font-size:10pt""><tr>"
- ' affichage des nom de champs
- for i=0 to rs.Fields.count-1
- response.write "<th>" & rs.fields(i).name &"</th>"
- next
- response.write "</tr>"
- ' affichage des valeurs
- do while not rs.eof
- response.write "<tr>"
- for i=0 to rs.Fields.count-1
- response.write "<td>" & rs.fields(i).value & "</td>"
- next
- rs.movenext
- response.write "</tr>"
- loop
- response.write "</TABLE>"
-
- rs.close
- set rs = nothing
- conn.close
- set conn = nothing
- end function
- %>
- <html>
- <head>
- <title>Visualisation automatiques de tables</title>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <STYLE>
- TD {font-family: arial; font-size: 10pt}
- </STYLE>
- </head>
- <body bgcolor="#FFFFFF" topmargin="10" leftmargin="10" marginheight="10" marginwidth="10" link="#0000A0" vlink="#0000A0" alink="#FF0000" text="#000000" >
- <font <%=font%>>
- <!-- Formulaire de paramètrage de la connexion // -->
- <form method=POST action="">
- <TABLE WIDTH=350 BORDER=1 CELLPADDING=2 CELLSPACING=0 BGCOLOR="#D0D0D0" BORDERCOLOR="#808080">
- <TR nowrap>
- <TH colspan=3><b>PARAMETRES DE CONNEXION</b></tH>
- <tr>
- <td nowrap>Serveur ou chemin vers la base (Access) :</td>
- <td><INPUT TYPE="text" value="<%=SVR_CHEM%>" NAME="SVR_CHEM" SIZE=20 ></td>
- <!-- colonne 3 // -->
- <td rowspan=8 valign=top><b>Chaine de Connexion :</b><PRE><%=replace(connstring,";",";<br>")%></td>
- <!-- fin colonne 3 // -->
- </TR>
- <tr>
- <td nowrap>Dans le cas d'une bases Access :</td>
- <td>
- <INPUT TYPE="radio" NAME="CHEM_RELATIF" VALUE="OUI"<%if CHEM_RELATIF="OUI" then%>checked<%end if%>> Chemin Relatif ("/rep_bases/base.mdb")
- <br>
- <INPUT TYPE="radio" NAME="CHEM_RELATIF" VALUE="NON"<%if CHEM_RELATIF="NON" then%>checked<%end if%>> Chemin absolu ("c:webasesase.mdb")
- </td>
- </TR>
- <tr>
- <td nowrap>Base :</td>
- <td><INPUT TYPE="text" value="<%=BASE%>" NAME="BASE" SIZE=20 ></td>
- </TR>
- <tr>
- <td nowrap>Utilisateur :</td>
- <td><INPUT TYPE="text" value="<%=USER%>" NAME="USER" SIZE=10 ></td>
- </TR>
- <tr>
- <td nowrap>PassWord :</td>
- <td><INPUT TYPE="text" value="<%=PWD%>" NAME="PWD" SIZE=10 ></td>
- </TR>
- <tr>
- <td nowrap>Requete :</td>
- <td><input type="text" value="<%=SQL%>" name="SQL"SIZE=40 ></td>
- </TR>
- <tr>
- <td nowrap>Type de connexion :</td>
- <td>
- <SELECT NAME="CONN_TYPE">
- <OPTION VALUE="SQL" <%if CONN_TYPE="SQL" then%>selected<%end if%>> SQL
- <OPTION VALUE="ACCESS" <%if CONN_TYPE="ACCESS" then%>selected<%end if%>> ACCESS
- <OPTION VALUE="ORACLE" <%if CONN_TYPE="ORACLE" then%>selected<%end if%>> ORACLE
- </SELECT>
- </td>
- </TR>
- <TR>
- <TD colspan=2 align=center><input type="submit" name="ACTION" value="ENVOYER"></TD>
- </TR>
- </TABLE>
- </form>
- <!-- FIN Formulaire de paramètrage de la connexion // -->
-
- <%
- ' si l'utilisateur a cliqué sur ENVOYER
- if ACTION="ENVOYER" then
-
- ' si SQL n'est pas vide et qu'il n'y a pas eu d'erreur
- if SQL<>"" and errMsg="" then
- call affTable
- end if
-
- end if
- %>
- <%=errMsg%>
- <br><br>
- <center>
- <HR SIZE=1 NOSHADE COLOR="#000000">
- <font color="#909090">
- <small>©<%=Year(Date)%> - Renaud COLAS - Tous droits réservés - <a href="mailto:r.colas@2si-systemes.fr">Contact</a>
- </small>
- </font>
- <!-- *************************** FIN CONTENU ******************************* // -->
-
-
- </body>
-
- </html>
<%
'***********************************************************
' Cette page permet de visualiser le contenu d'une table
' sans en connaitre les champs.
' Seule obligation : indiquer les informations de connexion
' et la requete SQL
'***********************************************************
' auteur : Renaud COLAS - r.colas@bigfoot.com
' date : 23/08/2000
' inputs : ceux du FORM
' output : tableau HTML du recordset de la requete
'***********************************************************
option explicit
Response.buffer = true
' Constantes de Bases de Données
Const adLockReadOnly = 1
Const adLockOptimistic = 3
Const adOpenDynamic = 2
Const adOpenStatic = 3
Const adOpenKeyset = 1
' Constante de formattage
const font = "face=""arial"" color=""#000000"" size=""2"""
' définition des variables et récupération des paramètres du FORM
dim conn, rs, connstring, i, errMsg
dim SQL, BASE, USER, PWD, SVR_CHEM, CONN_TYPE, ACTION, CHEM_RELATIF
SQL = Ucase(trim(request("SQL")))
BASE = Ucase(trim(request("BASE")))
USER = trim(request("USER"))
PWD = trim(request("PWD"))
SVR_CHEM = Ucase(trim(request("SVR_CHEM")))
CONN_TYPE = Ucase(trim(request("CONN_TYPE")))
ACTION = Ucase(trim(request("ACTION")))
CHEM_RELATIF = Ucase(trim(request("CHEM_RELATIF")))
errMsg = ""
' Vérification qu'un chemin absolu n'est pas passé comme chemin relatif
if CHEM_RELATIF="OUI" and inStr(SVR_CHEM,":")>0 then
errMsg = "<font color=red><b>ERREUR :</b></font> Un chemin relatif n'indique pas de lettre de lecteur ! (exemple : /rep_bases/base.mdb)<br>Vous avez entré :<b>" & SVR_CHEM & "</b>"
end if
if (inStr(SVR_CHEM,":")>0 OR inStr(SVR_CHEM,"/")>0) and CONN_TYPE<>"ACCESS" then
errMsg = "<font color=red><b>ERREUR :</b></font> Votre nom de serveur parait être un chemin...<br>SQL a besoin d'un nom de serveur (exemple : MONSERVEURWEB)<br>Vous avez entré :<b>" & SVR_CHEM & "</b>"
end if
' Création de la chaine de connexion
if ACTION="ENVOYER" AND errMsg="" then
select case CONN_TYPE
case "SQL"
'connexion ADO vers SQL -------------------
Set conn = server.CreateObject("ADODB.Connection")
connstring = "driver={SQL Server};" _
& "server=" & SVR_CHEM & ";" _
& "uid=" & USER & ";" _
& "pwd=" & PWD & ";" _
& "database=" & BASE & ""
conn.open connstring
'FIN ADO vers SQL -------------------
case "ACCESS"
'connexion ADO vers Access ----------------
Set conn = Server.CreateObject("ADODB.Connection")
connstring="DRIVER={Microsoft Access Driver (*.mdb)};UserCommitSync=Yes;Threads=3;SafeTransactions=0;ReadOnly=0;PageTimeout=1;MaxScanRows=8;MaxBufferSize=2048;FIL=MS Access;DriverId=281;"
if CHEM_RELATIF="OUI" then
connstring = connstring & "DBQ=" & server.mappath(SVR_CHEM)
else
connstring = connstring & "DBQ=" & SVR_CHEM
end if
conn.Open connstring,USER,PWD
'FIN ADO vers Access ----------------
case "ORACLE"
'connexion ADO vers Oracle ----------------
Set conn = Server.CreateObject("ADODB.Connection")
connstring = "driver={Microsoft ODBC for Oracle};" _
& "server=" & SVR_CHEM & ";" _
& "uid=" & USER & ";" _
& "pwd=" & PWD & ";" _
& "database=" & BASE & ""
conn.open connstring
'FIN ADO vers Oracle ----------------
case else
SQL = ""
ACTION = ""
errMsg = "Désolé, type de connexion non géré pour l'instant..."
end SELECT
end if
' fonction qui affiche le contenu de la table
function affTable()
set rs = server.createObject("ADODB.Recordset")
rs.open SQL, conn,adLockOptimistic, adOpenDynamic
' affichage du nombre d'enregistrements
response.write "<b>" & rs.recordCount & " enregistrements</b>"
response.write "<table border=1 bordercolor=#AAAAC9 cellpadding=2 cellspacing=0 style=""font-size:10pt""><tr>"
' affichage des nom de champs
for i=0 to rs.Fields.count-1
response.write "<th>" & rs.fields(i).name &"</th>"
next
response.write "</tr>"
' affichage des valeurs
do while not rs.eof
response.write "<tr>"
for i=0 to rs.Fields.count-1
response.write "<td>" & rs.fields(i).value & "</td>"
next
rs.movenext
response.write "</tr>"
loop
response.write "</TABLE>"
rs.close
set rs = nothing
conn.close
set conn = nothing
end function
%>
<html>
<head>
<title>Visualisation automatiques de tables</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<STYLE>
TD {font-family: arial; font-size: 10pt}
</STYLE>
</head>
<body bgcolor="#FFFFFF" topmargin="10" leftmargin="10" marginheight="10" marginwidth="10" link="#0000A0" vlink="#0000A0" alink="#FF0000" text="#000000" >
<font <%=font%>>
<!-- Formulaire de paramètrage de la connexion // -->
<form method=POST action="">
<TABLE WIDTH=350 BORDER=1 CELLPADDING=2 CELLSPACING=0 BGCOLOR="#D0D0D0" BORDERCOLOR="#808080">
<TR nowrap>
<TH colspan=3><b>PARAMETRES DE CONNEXION</b></tH>
<tr>
<td nowrap>Serveur ou chemin vers la base (Access) :</td>
<td><INPUT TYPE="text" value="<%=SVR_CHEM%>" NAME="SVR_CHEM" SIZE=20 ></td>
<!-- colonne 3 // -->
<td rowspan=8 valign=top><b>Chaine de Connexion :</b><PRE><%=replace(connstring,";",";<br>")%></td>
<!-- fin colonne 3 // -->
</TR>
<tr>
<td nowrap>Dans le cas d'une bases Access :</td>
<td>
<INPUT TYPE="radio" NAME="CHEM_RELATIF" VALUE="OUI"<%if CHEM_RELATIF="OUI" then%>checked<%end if%>> Chemin Relatif ("/rep_bases/base.mdb")
<br>
<INPUT TYPE="radio" NAME="CHEM_RELATIF" VALUE="NON"<%if CHEM_RELATIF="NON" then%>checked<%end if%>> Chemin absolu ("c:webasesase.mdb")
</td>
</TR>
<tr>
<td nowrap>Base :</td>
<td><INPUT TYPE="text" value="<%=BASE%>" NAME="BASE" SIZE=20 ></td>
</TR>
<tr>
<td nowrap>Utilisateur :</td>
<td><INPUT TYPE="text" value="<%=USER%>" NAME="USER" SIZE=10 ></td>
</TR>
<tr>
<td nowrap>PassWord :</td>
<td><INPUT TYPE="text" value="<%=PWD%>" NAME="PWD" SIZE=10 ></td>
</TR>
<tr>
<td nowrap>Requete :</td>
<td><input type="text" value="<%=SQL%>" name="SQL"SIZE=40 ></td>
</TR>
<tr>
<td nowrap>Type de connexion :</td>
<td>
<SELECT NAME="CONN_TYPE">
<OPTION VALUE="SQL" <%if CONN_TYPE="SQL" then%>selected<%end if%>> SQL
<OPTION VALUE="ACCESS" <%if CONN_TYPE="ACCESS" then%>selected<%end if%>> ACCESS
<OPTION VALUE="ORACLE" <%if CONN_TYPE="ORACLE" then%>selected<%end if%>> ORACLE
</SELECT>
</td>
</TR>
<TR>
<TD colspan=2 align=center><input type="submit" name="ACTION" value="ENVOYER"></TD>
</TR>
</TABLE>
</form>
<!-- FIN Formulaire de paramètrage de la connexion // -->
<%
' si l'utilisateur a cliqué sur ENVOYER
if ACTION="ENVOYER" then
' si SQL n'est pas vide et qu'il n'y a pas eu d'erreur
if SQL<>"" and errMsg="" then
call affTable
end if
end if
%>
<%=errMsg%>
<br><br>
<center>
<HR SIZE=1 NOSHADE COLOR="#000000">
<font color="#909090">
<small>©<%=Year(Date)%> - Renaud COLAS - Tous droits réservés - <a href="mailto:r.colas@2si-systemes.fr">Contact</a>
</small>
</font>
<!-- *************************** FIN CONTENU ******************************* // -->
</body>
</html>
Conclusion
ce code vous plait? des suggestions? n'hésitez pas à me le dire! ;-)
r.colas@2si-systemes.fr
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Importer des tables Oracle par ODBC dans access [ par keke ]
Je voudrai savoir comment importer une table oracle sous Access en utilisant une connexion ODBC.Si quelqu'un peut m'aider, merci
Tables SQL attachées dans Access (2000) [ par microdav ]
Bonjour , je recherche code VB permettant de creer des tables Attachées dans une base Access, via ODBC;Dans 2 cas : - Soit je me trouve dans la base
Tables SQL attachées dans Access (2000) [ par microdav ]
Bonjour , je recherche code VB permettant de creer des tables Attachées dans une base Access, via ODBC;Dans 2 cas : - Soit je me trouve dans la base
Tables SQL attachées dans Access (2000) [ par microdav ]
Bonjour , je recherche code VB permettant de creer des tables Attachées dans une base Access, via ODBC;Dans 2 cas : - Soit je me trouve dans la base
Tables SQL attachées dans Access (2000) [ par microdav ]
Bonjour , je recherche code VB permettant de creer des tables Attachées dans une base Access, via ODBC;Dans 2 cas : - Soit je me trouve dans la base
Tables Oracle Liées dans access [ par octp ]
Bonjour,j'utilise une base access avec des tables liés en provenance d'une base oracle 8i.La liaison est faite via un ODBC type "Source de données fic
ajout de données avec tables ACCESS migrée vers sql server [ par Elea2 ]
Bonjour,Je viens de migrer les tables de ma base ACCESS vers sql server... J'arrive à présent à avoir accès à mes données, à en ajouter de nouvelle (g
Dev. Access lié a une base SQL Server [ par gdoubi ]
Dev access avec table liée dans SQL Server,(lien ODBC vers SQL Server)Pb de mise a jour des tables :Sur Formulaire de MAJ avec comme source une table
Extraire des tables d'une base oracle vers un format ACCESS [ par MrpOuLpE ]
Bonjour, N'ayant pas le courrage ni le temps de parcourrir les 84 pages de questions sur le sujet des bases de données(veuillez m'en excuser), je pose
Probleme pour faire des attaches de tables Oracle depuis Access 97 [ par alexiafr ]
Tout est dans le titre.Mon problème est le suivant : Je désire programmer en VB dans une application Access 97 l'attache de tables Oracle via ODBC dan
|
Derniers Blogs
INTéGRATION YAMMER ET SHAREPOINT ONLINE (OFFICE 365), éTAPE 1 .INTéGRATION YAMMER ET SHAREPOINT ONLINE (OFFICE 365), éTAPE 1 . par Patrick Guimonet
#Yammer Certains s'en sont déjà fait l'écho (ici en allemand par exemple : Yammer Integration in Office 365 Phase 1) ou bien sûr sur le blog SharePoint : Make Yammer your default social network in Office 365 en anglais. Mais c'e...
Cliquez pour lire la suite de l'article par Patrick Guimonet [DYNAMICS CRM] AJOUTER LES DOSSIERS DE CRM AU DOSSIER FAVORIS D'OUTLOOK[DYNAMICS CRM] AJOUTER LES DOSSIERS DE CRM AU DOSSIER FAVORIS D'OUTLOOK par bianca
Objectif
Pour aller plus rapidement dans les menus de Dynamics CRM depuis votre client CRM pour Outlook, vous pouvez utiliser le dossier des Favoris d'Outlook. En effet, par simple glisser/déplacer, vous pouvez déposer un éléme...
Cliquez pour lire la suite de l'article par bianca VISUAL STUDIO 2013VISUAL STUDIO 2013 par Etienne Margraff
Ahh, ENFIN ! c'est officiel, il va y avoir un VS et un TFS 2013. De nouvelles fonctionnalités qui vont à mon sens assoir la maturité de TFS qui est maintenant l'outil incontournable pour tout projet (.NET, mais pas seulement !). Si vous n'avez pas jet...
Cliquez pour lire la suite de l'article par Etienne Margraff CONFIGURER LA COLLATION SQL SERVER POUR SHAREPOINT CONFIGURER LA COLLATION SQL SERVER POUR SHAREPOINT par JeremyJeanson
Note : Je poste cet article à titre de pense-bête. Cela fait des années que je me trimballe avec une capture d'écran, car je ne me rappel jamais comment choisir la collation d'un SQL Server pour SharePoint. Pour SharePoint, il est conseillé de choisir la ...
Cliquez pour lire la suite de l'article par JeremyJeanson ETENDRE LE TEAM WEB ACCESS DE TFS 2012 - STEP 1: CRéATION DU PLUGINETENDRE LE TEAM WEB ACCESS DE TFS 2012 - STEP 1: CRéATION DU PLUGIN par Philess
Dans cet article nous allons créer un plugin installable sur le Team Web Access qui s'intègrera dans l'architecture du site et se chargera au moment où on le décidera.
Avant de lire ce billet et si cela n'est pas encore fait j...
Cliquez pour lire la suite de l'article par Philess
Forum
RE : PETITE QUESTIONRE : PETITE QUESTION par Wolfplayer97
Cliquez pour lire la suite par Wolfplayer97 RE : MISE A JOUR RE : MISE A JOUR par ucfoutu
Cliquez pour lire la suite par ucfoutu RE : MISE A JOUR RE : MISE A JOUR par ucfoutu
Cliquez pour lire la suite par ucfoutu
Logiciels
Nego Facturation (1.85)NEGO FACTURATION (1.85)Nego Facturation est un logiciel complet qui permet de gérer vos factures et devis très simplemen... Cliquez pour télécharger Nego Facturation Devis-Factures PHMSD (2.2.0.1)DEVIS-FACTURES PHMSD (2.2.0.1)Configuration minimale
Nécessite Windows™ 2000, XP, Windows 7, 8, Vista (Service Pack à... Cliquez pour télécharger Devis-Factures PHMSD WDmemoCode (2.0.0.1)WDMEMOCODE (2.0.0.1)WDmemoCode a été conçu pour aider les développeurs Windev à créer/compléter et conserver une base... Cliquez pour télécharger WDmemoCode ProtoMedic (4.0.0.11)PROTOMEDIC (4.0.0.11)ProtoMedic est un logiciel destiné principalement aux médecins généralistes.
ProtoMedic permet d... Cliquez pour télécharger ProtoMedic MyCurriculum 2011 (7.4.1.12)MYCURRICULUM 2011 (7.4.1.12)Rédigez votre Curriculum Vitae mais également ceux de votre famille ou de vos amis très facilemen... Cliquez pour télécharger MyCurriculum 2011
|