Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
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 13/02/2011, 18h27   #1
Membre éprouvé
 
Avatar de dumas.blr
 
Homme Jean-Yves DUMAS
Consultant informatique
Inscription : juin 2010
Messages : 325
Détails du profil
Informations personnelles :
Nom : Homme Jean-Yves DUMAS
Âge : 48
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant informatique
Secteur : Conseil

Informations forums :
Inscription : juin 2010
Messages : 325
Points : 447
Points : 447
Par défaut Utilisation des tempvar dans une procédure VBA

Bonjour,

J'ai voulu essayer d'utiliser le générateur de menu général mis à disposition dans Access2007.
Problème : quand je veux utiliser le formulaire généré en tant que sous-formulaire, celui-ci refuse de marcher. Je pense que ceci est du à l'utilisation des macros.
J'ai donc entrepris de convertir les macros en tant que code VBA, et j'ai souhaité garder l'utilisation des variables globales (tempvar), car cela évitait d'utiliser des recordset de type ADO, comme cela était utilisé dans Access2003.
Cependant, je m'aperçoit que la persistance de ces variables n'est pas conservée. résultat : quand j'ouvre le formulaire ... rien ne s'affiche, car la requête ne récupère pas le contenu de la tempvar, alors qu'il le fait très bien quand il utilise les macros.
Dans ce topic, Tofalu recommande de passer par les recordset pour garder la persistance de ces variables.
Je me demandais s'il existait une autre méthode que celui des Recordset ? Cela aurait le mérite de ne pas surcharger inutilsment la Bdd.

De plus, comment intéger l'utilisation de CurrentDb.Properties(<ma variable globale>) dans le SQL ? Celui-ci ne reconnait pas l'utilisation de CurrentDb.Properties.


Merci d'avance pour vos réponses éclairées
__________________
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème !!!
si tout est OK, n'oubliez pas de cliquer sur
dumas.blr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 11h42   #2
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 863
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 863
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
salut,
est-ce que l'utilisation de tables de parametres peut t'etre utile ici ?
http://jpcheck.developpez.com/tutori...es-initiation/
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 12h20   #3
Membre éprouvé
 
Avatar de dumas.blr
 
Homme Jean-Yves DUMAS
Consultant informatique
Inscription : juin 2010
Messages : 325
Détails du profil
Informations personnelles :
Nom : Homme Jean-Yves DUMAS
Âge : 48
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant informatique
Secteur : Conseil

Informations forums :
Inscription : juin 2010
Messages : 325
Points : 447
Points : 447
Salut JPcheck,

J'utilise bien le DLOOKUP, mais je m'aperçois qu'il faut aussi que je change la nomenclature des variables globales.

Par ailleurs, ton tuto confirme qu'il faut stocker quelque part ces variables globlaes, et que cela ne paeut se faire que par recordset.

Conclusion : les tempvar ne semblent utiles que pour des macros.
__________________
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème !!!
si tout est OK, n'oubliez pas de cliquer sur
dumas.blr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 12h29   #4
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 863
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 863
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
En fait, rien ne t'empeche d'utiliser les fonction GetParam dans tes contenus SQL de requetes
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 13h22   #5
Membre éprouvé
 
Avatar de dumas.blr
 
Homme Jean-Yves DUMAS
Consultant informatique
Inscription : juin 2010
Messages : 325
Détails du profil
Informations personnelles :
Nom : Homme Jean-Yves DUMAS
Âge : 48
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant informatique
Secteur : Conseil

Informations forums :
Inscription : juin 2010
Messages : 325
Points : 447
Points : 447
Tout à fait, c'est même là un des gros interêts de Access dans le sens que l'on peut se constituer très facilement un nombre illimité de built-in fonctions.
Cela-dit, cela ne résout pas la problématique de s'affranchir des recordset.
Je pensait justement que le tempvar évitait cette manipulation. Or, il semble n'en être rien quand il s'agit de coder en VBA.
Cela m'intéresserait de savoir comment sont stockées les variables d'environnement dans les macros, et quelle est l'interaction entre les macros et le VBA.
__________________
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème !!!
si tout est OK, n'oubliez pas de cliquer sur
dumas.blr 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 10h19.


 
 
 
 
Partenaires

Hébergement Web