La famille XData

août 21, 2009

Aujourd’hui, j’aimerais présenter la nouvelle famille de fonction XData. Quoique ces fonctions seront perfectionnées et utilisées plus tard dans certain outils de haut niveau, elles peuvent être mises à profit immédiatement par les utilisateurs avancés pour retrouver n’importe qu’elle données de la base de données.

XData, XDataLookup et XDataCondition ont été introduite dans la version 2.9.9 de XLGL. XData est utilisée pour retrouver des données d’une table de la base de données. Par exemple:

=XData("tCustomr", "sName", 1)

retournera le nom du premier client de la base de données. Le nom du champ peut être remplacé par un expression, comme:

=XData("tCustomr", "SUBSTRING(sName, 1, 5)+'.'", 1)

qui retournera les 5 premiers caractères du nom du client suivit d’un point (.). Les fonctions d’agrégat peuvent aussi être utilisées. Par exemple:

=XData("tCustomr", "COUNT(sName)")

retournera le number de client dans la table.

Vous avez sans doute remarqué que le troisième argument de la fonction correspond à l’index de l’enregistrement de la table que nous voulons accéder. La plupart du temps, nous ne connaissons pas l’index de la ligne désirée. C’est ici que XDataLookup et XDataCondition entrent en jeu.

=XDataLookup("tCustomr", "sName", "Ashburton Reinforcing")

retournera l’index du client nommé Ashburton Reinforcing, qui peut ensuite être utilise dans la function XData pour retrouver d’autres informations sur ce client:

=XData("tCustomr", "sCity", XDataLookup("tCustomr", "sName", "Ashburton Reinforcing"))

Évidemment, vous pouvez placer chaque fonction dans sa propre cellule et référer aux cellules désirées.

Parfois XDataLookup retournera plus d’un index. Par exemple:

=XDataLookup("tCustomr", "sCity", "Richmond")

retournera les index de tous les clients qui demeurent à Richmond. Il est possible d’en obtenir le nombre en utilisant:

=XData("tCustomr", "COUNT(sName)", XDataLookup("tCustomr", "sCity", "Richmond"))

XDataCondition retourne les index de la même manière mais en utilisant une condition sur mesure. Par exemple:

=XDataCondition("tCustomr", "sName LIKE 'A*'")

retournera les index de tous les clients don’t le nom commence par A.

Dans un billet futur, nous regarderons comment utiliser les fonctions de la famille XData pour créer vos propres fonctions.


XLGL et VBA

août 13, 2009

Une question que nous recevons de plus en plus souvent est: Est-ce que les fonctions XLGL peuvent être appelé à partir de VBA((Visual Basic for Application). La réponse est Oui.

Ce sujet est avancé et, si vous n’êtes pas familier avec VBA, vous pourriez être tenté de la sauter. Toutefois, connaître un peu de VBA peut vous faire sauver des efforts inutiles passés sur des taches répétitives. Nous parlerons de plus en plus de XLGL et VBA, particulièrement de l’habilité à créer vos propres fonctions.

Quoique XLGL ne soit pas totallement implémenté en VBA, il demeure possible d’appeler n’importe quelle fonction en utilisant Application.Run. Par exemple :

Amount = Application.Run("XGL", "1020")

retournera dans la variable Amount, le solde courrant du compte 1020.

Le premier paramètre de Application.Run est toujours le nom de la fonction suivi des paramètres que vous fournissez.

Les commandes du menu peuvent aussi être appelées de la même façon. Par exemple, pour recalculer le chiffrier en utilisant la commande Recalculer de XLGL :

Application.Run "XLGL__Recalculate"

Pour rafraichir:

Application.Run "XLGL__Refresh"

Ceci devrait vous donner un bon depart sur l’utilisation de XLGL avec VBA. Dans le futur, nous regarderons la possibilité de créer des fonctions sur mesure et répondrons à toutes questions reçues sur le sujet.


Suivre

Get every new post delivered to your Inbox.