Nom d’utilisateur et autres informations utiles : le retour !
Suite à l’article Nom d’utilisateur et autres informations utiles, un lecteur du blog a souhaité savoir comment stocker les variables d’environnement dans une table, plutôt que de les afficher à l’écran. Voici la solution.
Mise en place
Créez une table tbl Environnement
, avec 3 champs :
Id
(NuméroAuto, clef primaire)
Un numéro attribué automatiquement pour différencier les valeurs (inutile dans le scénario d’aujourd’hui).Variable
(Texte / 255 caractères)
Colonne pour stocker le nom de la variable d’environnement (USERNAME
,PATH
, etc.).Valeur
(Mémo)
Colonne pour stocker la valeur de la variable d’environnement. Certaines variables d’environnement (commePATH
) peuvent être plutôt longues, d’où le type Mémo.
Le code
Voici le code, à recopier comme d’habitude dans un module standard de votre base de données :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
' --- ' VARIABLE D'ENVIRONNEMENT - TABLE ' --- Function VariablesEnvironnementTable() Dim varEnv As Variant Dim v As Variant Dim rst As DAO.Recordset ' On vide au préalable la table CurrentDb.Execute "DELETE * FROM [tbl Environnement];" ' On ouvre un Recordset sur la table Set rst = CurrentDb.OpenRecordset("tbl Environnement", dbOpenDynaset) ' Liste des variables d'environnement varEnv = Array("ALLUSERSPROFILE", "APPDATA", _ "COMPUTERNAME", "HOMEDRIVE", "HOMEPATH", _ "LOGONSERVER", "NUMBER_OF_PROCESSORS", "OS", _ "PATH", "PATHEXT", "PROCESSOR_ARCHITECTURE", _ "PROCESSOR_IDENTIFIER", "PROCESSOR_LEVEL", _ "PROCESSOR_REVISION", "PROMPT", _ "SYSTEMDRIVE", "SYSTEMROOT", "TEMP", "TMP", _ "USERDOMAIN", "USERNAME", "USERPROFILE") ' Lecture de toutes les valeurs For Each v In varEnv ' Stockage de la valeur rst.AddNew rst("Variable") = v rst("Valeur") = Environ(v) rst.Update Next ' On ferme ! rst.Close Set rst = Nothing ' Affichage final MsgBox "Opération terminée !", vbInformation End Function |