L’exemple ci-dessous permet de générer un numéro de colonne physique afin de présenter l’ordre d’affichage des colonnes dans la table. Le numéro sera un entier allant de 1 à N où N est le nombre de colonnes dans la table. Le code VBS ci-dessous peut-être exécuté via le menu «Outils=>Exécuter des commandes…=>Éditer/Exécuter le script»
dim i, tbl, col, mdl, c, cp set mdl = ActiveModel for each tbl in mdl.tables set col = tbl.columns i = col.count cp = 0 Do While cp < i set c = col.item(cp) output "La colonne " + tbl.name+"."+c.name + " se trouve à la position " & cp cp = cp + 1 Loop next
Le code suivant est utilisé dans le cadre d’une extension et permet d’inscrire l’information dans un attribut étendu afin que la position de la colonne puisse être sélectionnée dans le cadre d’un rapport. Alors que la solution précédente faisait l’utilisation de la variable ‘ActiveModel’ à titre de référence. La présente solution va plutôt faire l’utilisation de la variable ‘obj.model’. La raison est que la variable ‘ActiveModel’ n’est pas disponible lors de l’affichage d’un aperçu d’un rapport et c’est pourquoi nous utiliserons plutôt ‘obj.model’ comme référence dans cette seconde solution
Function %Get%(obj) ' Implémentez votre méthode get ici ' et renvoyez la valeur dim i, tbl, col, mdl, c, cp, d set mdl = obj.Package for each tbl in mdl.tables if not tbl.IsShortcut then set col = tbl.columns i = col.count cp = 0 Do While cp < i set c = col.item(cp) if c.objectid = obj.objectid Then d = cp + 1 end if cp = cp + 1 Loop end if next %Get% = d End Function
Prendre connaissance des pages suivantes afin d’apprendre comment intégrer le code ci-dessus dans une extension.