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 :

erreur 2478 si un formulaire n'est pas ouvert


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Points : 57
    Points
    57
    Par défaut erreur 2478 si un formulaire n'est pas ouvert
    bonjour

    Dans un formulaire j'ai rajouté ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    'On vérifie que le formulaire 04 est ouvert et si oui on l'actualise
    If CurrentProject.AllForms("04_AJOUTS_CARACTÉRISTIQUES").IsLoaded Then
        Form_04_AJOUTS_CARACTÉRISTIQUES.Requery
    End If
    donc si le formulaire est ouvert il ce met à jour par contre si il est fermer j'ai l'erreur 2478
    Citation Envoyé par Access
    erreur 2478
    access ne vous permet pas d'utiliser cette méthode dans l'affichage en cour
    j'en déduis que si le formulaire n'est pas ouvert il faudrait sortir de la procédure une personne peut elle m'aider pour la procédure

    merci d'avance pour vos réponses

    Cordialement

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Il y a des approximations dans l'écriture du code, ce qui induit en erreur dans son exécution :

    Si le nom du formulaire est bien "04_AJOUTS_CARACTÉRISTIQUES", le code serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If CurrentProject.AllForms("04_AJOUTS_CARACTÉRISTIQUES").IsLoaded Then
        Forms!04_AJOUTS_CARACTÉRISTIQUES.Requery
    End If
    Cordialement.
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Ce n'est en tout cas pas ce code qui génère l'erreur. Puisque si le form n'est pas chargé, le requery ne s'exécute pas.
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour
    Bizarre.
    Si le formulaire n'est pas ouvert, la condition ne s'exécute pas et la procédure se poursuit.
    Il y a sans doute un des formulaires concernés qui est ouvert en mode création.


    Il faut mettre en place une gestion d'erreur qui permet à la fois de localiser le problème, de l'identifier et de le corriger....
    Dernière modification par Invité ; 19/08/2019 à 09h52.

  5. #5
    Membre éprouvé Avatar de Ric500
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 956
    Points : 1 139
    Points
    1 139
    Par défaut erreur 2478 si un formulaire n'est pas ouvert
    Bonjour,

    J'ai une petite fonction qui parcourt les formulaires ouverts dans la collection forms:

    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
    Function EstOuvert(NomFormulaire)
              ' Argument(s) : un nom de formulaire.
              ' Action : détermine si un formulaire est actif.
              ' Valeur(s) renvoyée(s) : True si le formulaire spécifié est actif ;
              '          False dans le cas contraire.
              ' Voir : Chapitre 3.
     
                  Dim i
                  EstOuvert = False
                  For i = 0 To Forms.Count - 1
                  If Forms(i).FormName = NomFormulaire Then
                      EstOuvert = True
                      Exit Function   ' Quitte la fonction une fois le formulaire trouvé.
                  End If
                  Next
    End Function
    En la mettant dans un module général, tu peux interroger ton code comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if EstOuvert("04_AJOUTS_CARACTÉRISTIQUES") then forms!04_AJOUTS_CARACTÉRISTIQUES.requery
    Bonne journée.
    Essayer. Rater. Essayer encore. Rater encore. Rater mieux. (Samuel Beckett)
    Ou encore:
    Quand ça ne tourne pas rond dans le carré de l'hypothénuse , c'est signe qu'il est grand temps de prendre les virages en ligne droite.(Pierre Dac)
    ... Des principes qui m'ont beaucoup aidé en informatique...

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par madefemere Voir le message
    Bonjour,

    Il y a des approximations dans l'écriture du code, ce qui induit en erreur dans son exécution :

    Si le nom du formulaire est bien "04_AJOUTS_CARACTÉRISTIQUES", le code serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If CurrentProject.AllForms("04_AJOUTS_CARACTÉRISTIQUES").IsLoaded Then
        Forms!04_AJOUTS_CARACTÉRISTIQUES.Requery
    End If
    Cordialement.
    Pas forcément

    Cette syntaxe fonctionne aussi et est reconnue dans les propriétés/méthodes

    Nom : 2019-08-19_130652.jpg
Affichages : 279
Taille : 32,9 Ko

    Cordialement

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Points : 57
    Points
    57
    Par défaut
    Bonjour

    Merci à vous tous pour vos réponses vous avez beaucoup de patience avec moi et je l'apprécie énormément

    Ric500 je ne suis pas foutu de mettre cette fonction tellement je suis mauvais j'ai des erreurs en essayant de la mettre ( ligne rouge dans le code )
    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
    Function EstOuvert(NomFormulaire)'(NomFormulaire) qui cause l'erreur
              ' Argument(s) : un nom de formulaire.
              ' Action : détermine si un formulaire est actif.
              ' Valeur(s) renvoyée(s) : True si le formulaire spécifié est actif ;
              '          False dans le cas contraire.
              ' Voir : Chapitre 3.
     
                  Dim i
                  EstOuvert = False
                  For i = 0 To Forms.Count - 1
                  If Forms(i).FormName = NomFormulaire Then 'NomFormulaire qui cause l'erreur
                      EstOuvert = True
                      Exit Function   ' Quitte la fonction une fois le formulaire trouvé.
                  End If
                  Next
    End Function
    j'essaye quand même de trouver des solutions j'ai mis ce code a la fin (ligne rouge) il fonctionne GAYOT tu avais raison si le formulaire 04 est en mode création ça ne fonctionne pas par contre s'il est fermer ou ouvert la tout fonctionne
    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
    Private Sub LD_CIVILITE_NotInList(NewData As String, Response As Integer)
    Dim rst As DAO.Recordset
        Set rst = CurrentDb.OpenRecordset("T_0_Civilité") 'T_0_Civilité = table concernée par l'ajout
        rst.AddNew
        rst!Civilité = NewData 'Civilité = champ table concerné par l'ajout dans la liste déroulante
        rst.Update
        rst.Close
        Set rst = Nothing
    Response = acDataErrAdded
    If CurrentProject.AllForms("03_SUPPRIME_LISTE_DEROULANTES").IsLoaded Then
        Forms![03_SUPPRIME_LISTE_DEROULANTES]![FS_0_Civilité].Form.RecordSource = Forms![03_SUPPRIME_LISTE_DEROULANTES]![FS_0_Civilité].Form.RecordSource
    End If
    
    If CurrentProject.AllForms("04_AJOUTS_CARACTÉRISTIQUES").IsLoaded = True Then
    Form_04_AJOUTS_CARACTÉRISTIQUES.Requery
    Else
    Exit Sub
    End If
    
    End Sub
    encore merci pour vos réponses

    Cordialement

  8. #8
    Invité
    Invité(e)
    Par défaut
    Dans le cas présent le

    ne sert à rien.
    En effet tu arrives de toute façon à la fin de la procédure et si le formulaire est fermé il n'y a rien à effectuer.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Points : 57
    Points
    57
    Par défaut
    Bonjour

    Merci je l'enlève de ce pas

    Cordialement

  10. #10
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    bonjour,
    ce n'est pas la peine de t'embêter à ajouter le code de ric500, puisque le IsLoaded fait nativement la même chose ... la solution à ton souci tu l'as donné dans ta réponse:
    Citation Envoyé par target111
    GAYOT tu avais raison si le formulaire 04 est en mode création ça ne fonctionne pas par contre s'il est fermer ou ouvert la tout fonctionne
    la situation d'un formulaire en mode création n'a pas lieu d'exister quand il est en exploitation, seuls les développeurs auront accès à ce mode et ils savent très bien gérer ce genre d'erreur en passant outre ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Points : 57
    Points
    57
    Par défaut
    bonjour

    d'accord avec toi le problème je ne suis pas développeur et je ne sais pas gérer ce genre de problème d'ailleurs je ne le savais même pas qu'en mode création il y avait problème paracerque dans les deux autres formulaires s'ils sont en mode création ne créer pas d'erreur donc j'ai suivi le même principe pour le formulaire 04

    Cordialement

  12. #12
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    d'accord avec toi le problème je ne suis pas développeur
    tu l'es de fait vu que tu codes des formulaires
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/05/2008, 11h42
  2. erreur 404 -- la ressource demandée n'est pas dispo
    Par dev7 dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 11/03/2007, 02h06
  3. [Firebird]Erreur:la reference d'objet n'est pas definie
    Par monmien dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/02/2006, 09h20
  4. erreur d'execution 3704, ...:objet n'est pas ouvert
    Par cari dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 29/11/2005, 15h44
  5. erreur 1722 le serveur RPC n'est pas disponible
    Par StyleXP dans le forum Windows XP
    Réponses: 1
    Dernier message: 13/11/2005, 20h23

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