Formation les variables temporaires dans Microsoft Access

Cours les variables temporaires dans Microsoft Access, tutoriel & guide de travaux pratiques en pdf.

Mise en évidence dans le cadre d’automation

Pour illustrer l’échange de données entre deux applications à l’aide des variables temporaires nous allons créer deux fichiers Microsoft Access. Le premier se contentera d’afficher l’état d’une variable temporaire, le second sera chargé de modifier régulièrement les variables temporaires du précédent et de lancer l’affichage (l’ API Windows Sleep permettra de temporiser).
Client.accdb
Créez une nouvelle base de données client.accdb et ajoutez-y un module nommé mduClient contenant le code suivant :
Option Compare Database
Function Afficher()
With Application
‘Teste si la variable temporaire « Ma Variable » existe
If Not IsNull(.TempVars(« Ma Variable »).Value)
Then MsgBox .TempVars(« Ma Variable »).Value End
If End With End Function

Serveur.accdb
Nous allons procéder de la même façon avec un module nommé mduServeur contenant le code suivant :
Option Compare Database
Declare Sub Sleep Lib « kernel32 » (ByVal dwMilliseconds As Long)
Function Dialoguer() ‘Déclarartion de la variable Application correspondant à Client.accdb Dim oCliApp As Access.Application ‘Crée une nouvelle instance d’Access Set oCliApp = New Access.Application ‘Ouvre le fichier client.accdb oCliApp.OpenCurrentDatabase (« D:\client.accdb »)
With oCliApp ‘Crée la variable temporaire .TempVars.Add « Ma Variable », 0
‘Toutes les 2 secondes, le programme va modifier la variable temporaire ‘Ma Variable dans client.accdb While True .TempVars(« Ma Variable ») = .TempVars(« Ma Variable ») + 1 oCliApp.Run « Afficher » DoEvents Sleep 2000 Wend End With End Function
Programmation Orientée Objet
Jusque là, nous avons utilisé des variables numériques. La propriété Value d’un objet TempVar étant Variant, il est en fait possible de stocker n’importe quelle variable d’un sous-type de Variant : Integer, Currency, String, Single, Boolean, etc. (y compris la valeur NULL). En revanche si vous tentez d’y stocker un objet vous rencontrer l’erreur 32538 : Les variables temporaires ne peuvent contenir que des données, pas des objets.
Alors comment procéder pour stocker un objet ? Bien souvent ce qui est intéressant de conserver ou d’échanger dans un objet ne sont pas ses méthodes (facilement réutilisable depuis un autre objet de la même classe) mais plutôt la valeur de ses propriétés. Pour cela deux cas de figures :
• Stocker chaque propriété dans un objet TempVar correspondant. Cette solution peut s’avérer lourde dans le cas d’objets proposant un grand nombre de propriétés. • Encoder l’ensemble des propriétés dans un objet TempVar unique pour cet objet.
Cette deuxième méthode se rapproche du mécanisme de sérialisation que l’on retrouve dans d’autres langages tels que Java. Malheureusement une telle fonctionnalité n’est pas native dans Visual Basic et va demander à être codée par le développeur en fonction de ses besoins et ne pourra par conséquent se limiter qu’aux objets simples dont les propriétés sont des données et non d’autres objets.
Ce mécanisme de pseudo-sérialisation est à réaliser en plusieurs étapes :
1 Stocker dans une chaine de caractères l’ensemble des propriétés de l’objet en séparant chacune d’elles par un (ou des) caractère(s) improbable(s). 2 Créer une méthode dans la classe de l’objet permettant de valoriser ses propriétés en fonction de la chaine issue de la sérialisation.

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *