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

VBA Access Discussion :

Formulaire Erreur 2450


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2011
    Messages : 28
    Points : 20
    Points
    20
    Par défaut Formulaire Erreur 2450
    Bonjour,
    Je travail actuellement sur une base access 2007 que j'ai repris.
    Je rencontre une erreur 2450 que je ne parvient pas à résoudre.
    voici le code en question:

    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
    25
    Public Function Lecture_Liaison()
    Dim MaBd As Database, Matable As TableDef, Liaison As Recordset, PARAM As Recordset, MaZone As Workspace, Connectée As Database
    '
    Set MaZone = DBEngine.Workspaces(0)
    '
    MonFichier = Forms![Accueil].Liste49.Column(2, Forms![Accueil].Liste49.ItemsSelected(0)) & "\Liaison_32.MDB"
    Magasin = Forms![Accueil].Liste49.Column(1, Forms![Accueil].Liste49.ItemsSelected(0))
    '
    If IsNull(MonFichier) Then MonFichier = ""
    If Len(MonFichier) = 0 Then Exit Function
    '
    Set Lia_Bd = MaZone.OpenDatabase(MonFichier)
    Set Liaison = Lia_Bd.OpenTable("Liaison")
    '
    Liaison.MoveFirst
    Forms![paramètres]![Chemin_Donnees] = Liaison![Chemin_Donnees]
    Forms![paramètres]![Chemin_Suivi] = Liaison![Chemin_Suivi]
    Forms![paramètres]![Chemin_Archive] = Liaison![Chemin_Archive]
    Liaison.Close: Lia_Bd.Close
    '
    Forms![paramètres]![Nom_Poste] = Lecture_Identification(2)
    Forms![paramètres]![Num_Poste] = Lecture_Identification(1)
    Forms![paramètres]![Con_Table] = Lecture_Identification(5)
    '
    End Function
    Lorsque j'exécute ce code access me met alors une erreur 2450 et un message "Access ne trouve pas le formulaire "Accueil" dans le module..." J'active le débogueur et Access me surligne en jaune cette ligne de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonFichier = Forms![Accueil].Liste49.Column(2, Forms![Accueil].Liste49.ItemsSelected(0)) & "\Liaison_32.MDB"
    Le formulaire Accueil fonctionne très bien et marche dans tout les autres modules. Puis ce code s'exécute parfaitement dans Access97. (J'ai bien référencé la bibliothèque DAO3.51)
    Merci
    Valentin.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Bonjour,

    Je vois deux cause probables à ton problème :
    • soit il y a une subtile faute d'orthographe dans le nom de ton formulaire (que je n'ai pas remarquée)
    • soit simplement le formulaire Accueil est fermé au moment de l'appel.


    A+

  3. #3
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut
    Bonsoir,
    Il faudrait décomposer pour mieux comprendre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    colonne =  Forms!Accueil.Liste49.ItemsSelected(0)
    MonFichier = Forms!Accueil.Liste49.Column(2,colonne) & "\Liaison_32.MDB"
    mais Forms!Accueil.Liste49.ItemsSelected(0) semble erroné
    S'il s'agit dune liste déroulante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    colonne =  Forms!Accueil.Liste49.Column(0)
    0 pour le 1er champ, 1 pour le second, etc
    Il faut comprendre que ce champ comprend le numéro de la colonne
    sinon donner des précisions sur le contenu des champs de la liste Liste49

  4. #4
    Membre à l'essai
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2011
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    Bonsoir,
    Je vous remercie de vos réponses.
    marot_r, j'ai vérifié l'orthographe il n'y a pas de faute. Puis j'ai essayé en ouvrant le formulaire "Accueil" juste avant l'instruction mais sans succès.

    helas, j'ai décomposé comme vous m'avez conseillé, j'avais cependant la même erreur. J'ai ensuite remplacé
    colonne = Forms!Accueil.Liste49.ItemsSelected(0) par colonne = Forms!Accueil.Liste49.Column(0) et maintenant je n'ai plus la même erreur, il ne trouve pas la base de donnée "/Liason_32.mdb".
    J'ai changé la valeur "0" avec 1,2 ou autre et même résultat. Je ne comprend pas trop quelle valeurs mettre.

    La liste49 contient juste une liste de chemin de dossier contenant des bases de données. Ici il n'y en a qu'un dossier pour la démonstration, qui se nomme démonstration, et qui contient le fichier Liason_32.mdb.

    Je vous remercie de vos réponses, je pars en weekend quelques jour je serais de retour mardi soir et je vous répondrais.

    Bonne soirée tout le monde

    Valentin.

  5. #5
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut
    Si la liste déroulante n'est composée que d'un champ
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Forms!Accueil.Liste49
    suffit
    Si la liste déroulante comprend plusieurs champs dont un correspond au dossier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Forms!Accueil.Liste49.Column(0) 'si dossier dans 1ère colonne
    Forms!Accueil.Liste49.Column(1) 'si dossier dans 2ème colonne
    'etc
    pour vérifier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MsgBox("Dossier : " & Forms!Accueil.Liste49.Column(0) )

Discussions similaires

  1. [AC-2010] Erreur 2450: Impossible de trouver le formulaire
    Par captainmakeu dans le forum VBA Access
    Réponses: 2
    Dernier message: 28/11/2013, 08h06
  2. Réponses: 3
    Dernier message: 18/06/2012, 11h42
  3. Réponses: 6
    Dernier message: 16/11/2009, 08h58
  4. Formulaire et sous formulaire Erreur 3252
    Par Reidid dans le forum Access
    Réponses: 3
    Dernier message: 17/08/2007, 17h54
  5. [Erreur 2450] impossble de trouver le formulaire
    Par AndréPe dans le forum VBA Access
    Réponses: 5
    Dernier message: 27/03/2007, 09h17

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