begin process at 2012 02 14 13:43:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Langages dérivés

 > 

VBA

 > 

ACCESS / Fermer un formulaire à partir de l'objet


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

ACCESS / Fermer un formulaire à partir de l'objet

lundi 29 septembre 2008 à 10:57:32 | ACCESS / Fermer un formulaire à partir de l'objet

deadisdead

Bonjour à tous,

Mon problème est assez simple mais je n'ai pas trouvé encore de réponse à ce jour. Je développe actuellement une application sous Access avec laquelle je fais afficher plusieurs formulaires identiques (en passant par un tableau de formulaires). Le problème est qu'au moment de leur fermeture par le code, la fonction classique :

DoCmd.Close acForm, Me.name

devient complètement obsolète car il peut y avoir 3 formulaires ouverts portant le même nom et Access me ferme le premier... qui est rarement le bon. Mon souhait serait donc de pouvoir lancer une fermeture à partir de l'objet, du genre :

Unload Me 'comme en VB6
ou Me.Close()

mais rien de cela ne fonctionne... Si quelqu'un pouvait avoir une idée pour résoudre ce problème, je lui en serai très reconnaissant. Merci d'avance de votre aide :)


lundi 29 septembre 2008 à 11:24:35 | Re : ACCESS / Fermer un formulaire à partir de l'objet

68manu



_____________________
No problems, only soluces
lundi 29 septembre 2008 à 11:34:44 | Re : ACCESS / Fermer un formulaire à partir de l'objet

deadisdead

Il semblerait qu'il y ait eu un problème lors de l'enregistrement de ton post manu...
lundi 29 septembre 2008 à 12:53:32 | Re : ACCESS / Fermer un formulaire à partir de l'objet

68manu

bonjour,
En effet,

je te proposais de faire la chose suivante avant de lancer ton DoCmd.Close :

DoCmd.SelectObject acForm, Me.Name, False

' Cette commande selectionne un formulaire deja ouvert,
' Si le formulaire n'est pas ouvert, mettre false a true

Cf Access Help !

A+
Manu
_____________________
No problems, only soluces
lundi 29 septembre 2008 à 12:59:10 | Re : ACCESS / Fermer un formulaire à partir de l'objet

deadisdead

Merci de t'intéresser à mon problème Manu !
Sur tes conseils, j'ai essayé ta méthode :

DoCmd.SelectObject acForm, Me.Name, False

Le résultat ne change malheureusement rien : Access me ferme toujours le premier formulaire ouvert... Vu que mes formulaires ont tous le même nom (ce sont des instances d'un même formulaire), je pense qu'on ne pourra pas faire grand chose en passant par le nom (Me.Name),  c'est pour ça que je cherchais une fonction directement à partir du formulaire (du type Me.Close)...
lundi 29 septembre 2008 à 14:20:18 | Re : ACCESS / Fermer un formulaire à partir de l'objet

68manu

Ouii je comprends bien ton probleme, j'en ai un similaire en fait sur Vb.net.

Par contre lorsque tu fais tes instances de formulaire, tu peux changer le nom de celui-ci. Ca devrait etre plus pratique, tu ne crois pas ?

Cf :

Dans ce cas, tu pourrias utiliser le Me.Close, ou son equivalent en appelant:

Form("Nomduformulaire").Close (ou Unload, ou encore Deactivate), ces commandes existent

Ca dois marcher.
Comment fais tu les instances de tes formulaires ?

Manu

_____________________
No problems, only soluces
lundi 29 septembre 2008 à 14:44:21 | Re : ACCESS / Fermer un formulaire à partir de l'objet

deadisdead

Tiens oui je n'ai pas essayé de changer le nom de mes formulaires à la création. Si Access l'autorise, ça ne devrait pas trop poser de problème !

Pour créer mes instances, je fais simplement un tableau de formulaires du genre :

Dim tab_form() As Form_Clients

Puis je crée selon les besoins :

nb_form = UBound(frmClients) + 1
ReDim Preserve frmClients(0 To nb_form)
Set frmClients(nb_form) = New Form_Clients

Il suffirait alors de renommer le formulaire créé et le tour serait joué ! Je vais essayer de suite !
lundi 29 septembre 2008 à 14:53:25 | Re : ACCESS / Fermer un formulaire à partir de l'objet

deadisdead

Bon il semblerait qu'il y ait encore un problème : je n'arrive pas à changer le nom de mon formulaire. En faisant ceci :

frmClients(nb_form).Name = frmClients(nb_form).Name & nb_form

ou nb_form est toujours unique, Access ne me dit que cette propriété est en lecture seule... Donc retour au point de départ
lundi 29 septembre 2008 à 18:59:47 | Re : ACCESS / Fermer un formulaire à partir de l'objet

68manu

Il ne faut pas passer par la propriete de la form mais plutot par une procedure qui te permet de changer son nom

Allez ! soyons fous...

DoCmd.Rename "Ancien nom", frmClients,"Nouveau nom"

Bonne chance

_____________________
No problems, only soluces
mardi 30 septembre 2008 à 12:06:36 | Re : ACCESS / Fermer un formulaire à partir de l'objet

deadisdead

Encore une fois c'est l'échec, je désespère...
En fait, pour renommer un formulaire, il ne faut pas qu'il soit actif. Hors la création d'une instance de formulaire active directement le formulaire sans que puisse le renommer. Alors il y aurait bien une solution : le masquer avec visible mais au bout d'un moment, la mémoire va en patir...


Cette discussion est classée dans : problème, access, objet, partir, formulaires


Répondre à ce message

Sujets en rapport avec ce message

problème d'accès à Access en ADO [ par J-F ] Bonjour,J'ai un gros problème quand je veux me connecter à une base Access en utilisant ADO. J'ai comme message d'erreur :"Impossible de démarrer votr Problème avec access2000 [ par MF ] Salut j'ai un probème avec VBA pour access 2000, mon PC est équipé du win98(arabe/Anglais) avec Access 2000à chaque fois que j'utilise du code j'aurai Problème sur les formulaires sous access 2000 [ par nitocris ] Je développe une base de donnée sous ACCESS 2000.J'ai plusieurs formulaires et quand certains sont ouverts, si j'actionne la molette de la souris alor Importer des formulaires à partir de access [ par boule7 ] Salut,Je voudrais convertir un programme ecrit avec access en visual basic.SVP aidez moi c'est très urgent.Merci Problème rafraichissement Objet Graph dans un Etat Access [ par rico90 ] Bonjour,Je souhaite imprimer des graphiques fait à l'aide de données dans une table Access 2000. J'utilise pour ca un objet MS Graph, malheureusement Problème Objet Adodc - Access - VB6 [ par philippe laschweng 1 ] Bonjour tout le monde,J'en reviens à vous car je commence à déséspérer et je suis au bord du pétage de plomb....J'aimerais savoir comment aller écrire impression d'une etat access a partir de visual basic [ par naruto_ichi ] bijour ! ;) comment je peux imprimer une etat sous access 2003 a partir de visual basic 6.0 Merci d'avence :) :) :) Récupérer l'objet tooltip à partir d'une Form [ par Malebogia_DCG ] Bonjour,Je souhaite récupérer et traiter le tootip d'une form passée en argument dans une fonction.Un peu comme je le ferais pour n'importe quel contr access et problème de date [ par josefson ] Bonjour à tous,Lors de l'exécution du code suivant, pour certaine date, comme le "05/12/2008" ou "11/01/2008", la requête ne retourne aucun résultat !


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,855 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales