IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Message d'erreur : le formulaire n'est pas ouvert


Sujet :

IHM

  1. #1
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    241
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 241
    Points : 145
    Points
    145
    Par défaut Message d'erreur : le formulaire n'est pas ouvert
    Bonjour,
    Sous access 97, j'ai créé un sous formulaire catalogue dans lequel j'ai une combo box pilotée par une requête qui me liste tous mes articles (table catalogue). Sur l'évènement afterupdate de cette boite, je fais afficher dans ce même sous formulaire tous les renseignements de cet article.
    Ca fonctionne bien quand je lance uniquement le sous formulaire.
    Par contre, quand je lance le formulaire qui possède ce sous formulaire, l'ensemble s'ouvre bien mais dès que je choisis un article avec ma combo box, j'ai une erreur dans mon code me disant que mon sous formulaire n'est pas ouvert. Un comble puisque je le vois à l'écran et que je suis en train de choisir un article dans la combo box décrite plus haut !
    J'ai d'ailleurs une tonne de code pour simplement aller chercher l'article qui correspond à ma sélection. Je trouve déjà celà hallucinant. Les gotorecord et autres findrecord ne fonctionnant pas ...
    Quelqu'un a une idée ?
    Merci ...

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Ce serait mieux avec le code.

    Starec

  3. #3
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    241
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 241
    Points : 145
    Points
    145
    Par défaut Je ramène le code aujourd'hui ...
    ... il est sur mon PC au travail.

    Petite précision que j'aimerais faire. J'y ai pensé cette nuit comme quoi la nuit porte conseil. Mon formulaire principal s'appelle FrmEvox et j'ai créé un sous formulaire associé nommé SfmEvox.
    Ensuite, j'utilise une astuce trouvée et corrigée ici dans ce forum par vous et qui change la source de mon sous formulaire. Du coup, le sous formulaire reste toujours SfmEvox mais sa source est le sous formulaire où se trouve mon code et ma fiche catalogue et que j'ai nommé SfmEditCatalogue.

    Et justement, l'erreur que j'ai est la suivante :
    Form SfmEditCatalogue is'nt open !
    Alors que tout fonctionne bien si j'ouvre directement ce formulaire.

    Voilà, je vais partir travailler. Bonne réflexion à vous.
    Je reviens ce soir avec le bout de code.
    Merci.

  4. #4
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    241
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 241
    Points : 145
    Points
    145
    Par défaut Voici le code qui pose problème :
    J'ai une combo box appelée CleRefEqp dans laquelle je liste (requête) tous les articles de mon catalogue (TbCatalogue). Cette box est sur mon sous formulaire SfmEditCatalogue ainsi que tous les champs d'information de l'article Par défaut, la combo box donne *Nouveau* ce qui me permettra d'ajouter un nouvel article (code approprié). Maintenant, si je veux consulter un article existant, je clique dessus. La liste s'ouvre et je choisis mon article. Je prends l'évènement AfterUpdate() pour lancer le code ci-dessous. Ca fonctionne très bien si je lance le formulaire SfmEditCatalogue individuellement mais j'ai le message Erreur 2489 le formulaire SfmEditCatalogue n'est pas ouvert si j'exécute ce code dans l'application finale avec le formulaire principal ouvert (FrmEvox) et son sous formulaire (SformEvox).

    Voici le code qui pose problème :
    (S'il existe une méthode plus simple pour positionner un sous formulaire à un enregistrement précis en fonction d'une donnée d'un champ - j'ai lu ici et là la fonction Seek - je suis preneur)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Private Sub CleRefEqp_AfterUpdate()
     
            Dim rst As DAO.Recordset
            Dim db As DAO.Database
            Dim cp As Integer
            cp = 2
            Set db = CurrentDb
            Set rst = db.OpenRecordset("TbCatalogue", dbOpenTable)
     
            Select Case Me.CleRefEqp.Value
                Case " *Nouveau* "
                    MsgBox "Nouvel equipement"
                Case Else
                    rst.MoveFirst
                    While Not rst.Fields("RefEqp").Value <> Me.CleRefEqp.Value
                        rst.MoveNext
                        cp = cp + 1
                    Wend
                    DoCmd.GoToRecord acDataForm, "SfmEditCatalogue", acGoTo, cp
                    DoCmd.GoToControl "ChpRefGenEqp"
            End Select
            rst.Close
     
    End Sub
    Précision importante :
    Le sous formulaire qui pose problème dans l'application (SfmEditCatalogue) est chargé par une astuce trouvée ici dans la FAQ en modifiant la source du sous formulaire SformEvox comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms![FrmEvox]![SformEvox].SourceObject = "SfmEditCatalogue"
    Peut-être que d'un point de vue Access 97, avec cette syntaxe, le système voit le sous formulaire SformEvox ouvert mais pas le sous formulaire sfmEditCatalogue ... cela expliquerait le message d'erreur.

  5. #5
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    241
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 241
    Points : 145
    Points
    145
    Par défaut J'ai trouvé tout seul !
    C'était bien le fait de changer la source de mon sous formulaire.
    En fait, maintenant j'ouvre mon sous formulaire par la commande classique OpenForm et je le place sur mon écran exactement à l'emplacement désiré. Visuellement, ça revient au même, mais access voit maintenant et reconnait mon sous formulaire, donc tous les champs et les fonctions associées.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/01/2010, 17h05
  2. Réponses: 18
    Dernier message: 07/02/2007, 14h33
  3. Réponses: 2
    Dernier message: 07/09/2005, 09h55
  4. Erreur : La classe n'est pas enregistrée
    Par Le Pharaon dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 11/08/2005, 12h04
  5. message d'erreur : "le fichier verrou est trop importan
    Par lol_adele dans le forum Bases de données
    Réponses: 4
    Dernier message: 10/06/2004, 07h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo