Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/10/2011, 14h33   #1
Invité de passage
 
Homme
Assistant aux utilisateurs
Inscription : octobre 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Assistant aux utilisateurs
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : octobre 2011
Messages : 2
Points : 0
Points : 0
Par défaut Stockage de variable d'environnement

Bonjour à tous,
Je suis actuellement sur Access 2007 et je bloque.
Je cherche à stocker dans une table un certains nombre de variable d’environnement.

J’ai trouvé un code VBA que j’ai collé dans un module qui me donne un début de piste :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Function VariablesEnvironnement()
Dim varEnv As Variant, intI As Integer
Dim strMessage As String, v As Variant
 
' 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
strMessage = ""
For Each v In varEnv
  strMessage = strMessage & v & " = " & Environ(v) & vbCrLf
Next
 
' Affichage final
MsgBox strMessage
End Function
Les résultats affichés sont corrects, mais ce n’est que de l’affichage.

Comment créer une requête ou comment modifier le code ci-dessus pour stocker ces données dans une table ?

En vous remerciant par avance
Little___Buddha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 18h45   #2
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 475
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 475
Points : 7 561
Points : 7 561
Si tu as besoin d'autant de variables je t'invite à les stocker dans une table dont la structure est :
  • NumeroSequentiel (pas indispensable mais pratique pour retrouver dans quel ordre les données ont été entrées)
  • NomVariable (Champ Texte 255c, clef primaire)
  • ValeurVariale (Champ Mémo)

Après il est très facile de récupérer une valeur avec la fonction environ("NomVariable") et de parcourrir ta liste de variable en parcourant la table.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 21h39   #3
Nouveau Membre du Club
 
Stéphane
Formateur en informatique
Inscription : janvier 2011
Messages : 30
Détails du profil
Informations personnelles :
Nom : Stéphane

Informations professionnelles :
Activité : Formateur en informatique

Informations forums :
Inscription : janvier 2011
Messages : 30
Points : 25
Points : 25
Pour compléter le message précédent ...

Dans la table des variables qu'on va nommer Var
Créer 3 champs :
IdVar : Numéro Automatique
NomVar : Texte 255
ValeurVar : Memo

et ceci dans le code


Code :
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
Function VariablesEnvironnement()
Dim varEnv As Variant, intI As Integer
Dim strMessage As String, v As Variant
 
' 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")
 
'Déclaration des variables DAO 
 Dim dbBase As DAO.Database
 Dim rst As DAO.Recordset
 
'Instancie la base courrante
Set dbBase = CurrentDb
'charge la table dans le Recordset rst
Set rst = dbBase.OpenRecordset("Var", dbOpenDynaset)
 
'Boucle sur le tableau
For Each v In varEnv
        rst.AddNew      'Ajoute un enregistrements
        rst!NomVar = v  'v dans champ NomVar
        rst!ValeurVar = Environ(v) 'environ(v) dans champ ValeurVar
        rst.Update
Next v
 
Set rst = Nothing
Set dbBase = Nothing
 
End Function

Normalement ca marche

Cordialement
Stef999 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2011, 07h41   #4
Invité de passage
 
Homme
Assistant aux utilisateurs
Inscription : octobre 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Assistant aux utilisateurs
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : octobre 2011
Messages : 2
Points : 0
Points : 0
ça fonctionne nickel avec cette modification du code !

merci à vous pour cette réponse rapide et surtout très pertinente !!!
Little___Buddha est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h42.


 
 
 
 
Partenaires

Hébergement Web