ARTICLES | Applications | Best of | FAQ | Forums | VBScript | JScript | Livres | Liens | Contact | ACCUEIL

LA REFERENCE FRANCAISE DES DEVELOPPEURS ACTIVE SERVER PAGEs



Effectuer des calculs dans une page ASP
Que vous souhaitiez convertir automatiquement un prix en Euro sans avoir à effectuer de fastidieuses saisies dans votre base de données, ou que vous souhaitiez afficher des statistiques, les calculs sont possibles dans une page ASP. Et d'une simplicité... arithmétique.

Notre base de travail est toujours structurée comme suit:

Nom du champ Paramètres
Id Type NuméroAuto
Nom Type Texte, Longueur 50 car.
Prenom Type Texte, Longueur 30 car.
Age Type Numérique (entier long)

Créons une page ASP vierge, que nous allons nommer calcul.asp. Nous allons y afficher l'ensemble des enregistrements de notre table table1.

<%
Const adOpenKeyset = 1

Set objConnection = Server.CreateObject("ADODB.Connection")
OBJConnection.Open "mabase"
Dim strSQL
strSQL = strSQL & "SELECT * FROM table1 order by Id"
Set objRecordset = Server.CreateObject("ADODB.Recordset")
objRecordset.Open strSQL, objConnection, adOpenKeyset
%>

Nous créons ici un jeu d'enregistrements (recordset), qui pourra être fort utile par la suite dans le cas de calculs complexes. Nous y reviendrons au cours d'un article futur.

Maintenant, nous allons "naviguer" dans la base de données pour y collecter les informations une à une.

<%
Do While Not objRecordset.EOF
%>

<% =objRecordset("Nom") %>&nbsp;<% =objRecordset("Prenom") %>,&nbsp;<% =objRecordset("Age") %>&nbsp;ans<br>

Nous créons ensuite, toujours à l'intérieur de la boucle, deux variables. L'une appelée total sert à calculer le cumul des âges. La seconde, intitulée nb, compte le nombre d'enregistrements.

<% total = total + objRecordset2("age") %>
<% nb = nb + 1 %>

Et on exécute la boucle.

<% objRecordset.MoveNext
Loop
%>

Au fur et à mesure de l'exécution de la boucle, les variables total et nb se sont incrémentées. La boucle étant maintenant achevée, nous pouvons afficher nos résultats:

<p>Nombre de personnes: <% =nb %></p>
<p>Age cumulé: <% = total %>&nbsp;ans</p>

(notez qu'en soi cette valeur n'a aucune signification réelle, et ne sert qu'à procéder au calcul de la moyenne)

Et voici la moyenne:

<p>Moyenne d'âge: <% = total / nb %>&nbsp;ans</p>

Et pour terminer, comme d'habitude, on ferme la connection ET le jeu d'enregistrements.

<%
objRecordset.Close
objConnection.Close
Set objRecordset = Nothing
Set objConnection = Nothing
%>


VERSION IMPRIMABLE PDF


Jean Lançon, MJ Presse


Retour à la liste des articles

Hit-Parade  


FastCounter by bCentral