Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
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 08/03/2011, 17h14   #1
Membre régulier
 
Inscription : janvier 2011
Messages : 311
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 311
Points : 77
Points : 77
Par défaut Formulaires incrustés devenant indépendants

Bonjour à tous,

Dans mon application access 2010 j'ai un formulaire "Menu" qui contient un cadre, le dit cadre sert à charger les formulaires incrustés à appeler avec différents boutons...

Pour fonctionner, les références à des contrôles dans le formulaire incrusté actif à un moment donné dans le cadre font référence au cadre et non plus au formulaire, jusque là tout va bien ...

Seulement, .... les formulaires peuvent en certains cas devoir s'ouvrir en dehors du cadre et c'est là que ça se complique car tout le code attenant à chaque formulaire à toujours comme référence le cadre et non pas le formulaire en lui même.

Comment faire en sorte que le code de chaque formulaire puisse servir aussi bien en incrusté qu'en indépendant ?.

Faut il faire une fonction spécifique ? N 'existe t'il pas une fonction spécifique de référencement du genre "current.form" ?

Merci d' avance pour tout éclaircissement...
clickandgo est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 17h00   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 624
Points : 11 624
Bonjour,

Il faut évidement que le formulaire soit actif.

Sinon créer un module de classe.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 17h41   #3
Membre régulier
 
Inscription : janvier 2011
Messages : 311
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 311
Points : 77
Points : 77
Merci pour ta réponse !

On peut l'utiliser dans le formulaire lui même qu'il soit indépendant ou incrusté ?

Je remplace les "Me." ou "Forms!" par "screen.activeform" ?
clickandgo est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 05h44   #4
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 624
Points : 11 624
bonjour,
Qu'il soit principal ou "incrusté" un formulaire reste un objet à part entière. Rien ne permet de différencier l'un ou l'autre ormis le fait que la propriété Parent renvoi l'objet conteneur (le formulaire contenant).

Tu peux donc utiliser pour le désigner :

Code :
1
2
3
4
5
6
7
8
 
Me
forms.nomduform
forms("nomduform")
form_nomduform 'uniquement si la propriété HasModule est vrai)
 
screen.activeform 'uniquement si c'est le formulaire actif - il a le focus)
forms(x) 'ou x représente le N° dans la pile des formulaires ouvert. Pas vraiment indiquer pour faire référence au formulaire actif)
Si le code est interne au formulaire alors utilise les 3 premiers. Avec une préférence pour le 1er.
Si le code est externe utilise tout sauf le 1er.

Regarde le tuto sur le sujet.
http://loufab.developpez.com/tutorie...pelformulaire/

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2011, 16h45   #5
Membre régulier
 
Inscription : janvier 2011
Messages : 311
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 311
Points : 77
Points : 77
En réalité je n'ai aucune difficulté à référencer un formulaire, il s'agît là d'un cas particulier comme je l'expliquai:

Quand un formulaire indépendant est aussi incrusté dans un cadre d'un autre formulaire le dit formulaire et le code attenant obligent à faire référence au cadre en question.

Je cherchais une méthode pour éviter de changer les références dans le code VBA tant si le formulaire était dans l'état incrusté qu'indépendant à un moment donné...
clickandgo est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2011, 23h19   #6
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 624
Points : 11 624
Soit tu es dans le module de classe du formulaire et tu utilises Me, soit tu es à l'extérieur et tu utilises ceci.

__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab 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 17h55.


 
 
 
 
Partenaires

Hébergement Web