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

Access Discussion :

Erreur 2455, formulaires et sous formulaires en mode feuille de données


Sujet :

Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 96
    Points : 78
    Points
    78
    Par défaut Erreur 2455, formulaires et sous formulaires en mode feuille de données
    Bonjour à tous,

    J'allais poster ce message dans [cours papy Turbo]commentaires, mais finalement je n'ai pas trop voulu polluer ce topic, donc me voici dans ce nouveau topic.

    Papy turbo a dit:
    Il y a pire encore, en affichage "feuille de données": tant qu'un sous-formulaire n'a pas été "étendu" (en cliquant sur le + pour afficher les données hiérarchiques), il n'existe pas, et on retrouve une autre série d'erreurs 2455 ou similaires !!!
    Là aussi, on peut s'en sortir, en ce qui concerne le premier sous-formulaire.
    Exemple de solution, lorsque le parent fait référence à son sous-formulaire, qui n'est pas forcément vide :

    ...

    Noter : Une variable FirstError est toujours utilisée avec un Resume, pour éviter une boucle san fin : si l'erreur se reproduit > même gestionnaire d'erreur > Resume encore une fois > même erreur...

    Voilà mon problème :
    mon formulaire principal est en mode feuilles de données
    Dans ce formulaire j'ai un sous formulaire en mode feuille de données
    Quand je mets un jour un certain champ de mon formulaire, je dois parcourir le sous formulaire pour faire certaines mises à jour

    Evidement je tombe sur la fameuse erreur 2455, donc j'applique ce qu'a dit papy Turbo.

    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
    26
    27
    28
    29
    30
    31
    'unexpanded permet de gérer l'erreur de formulaire non étendu
            On Error GoTo Unexpanded
            'on ouvre un recordset sur les lignes de commandes
            With Me.ssf_detail_commande.Form.RecordsetClone
            On Error GoTo Catch
                .MoveFirst
                Do While Not .EOF
                    call mon_traitement
                    'enregsitrement suivant
                    .MoveNext
                Loop
            End With
        End If
        Me.cmd_date_envoi = Date
    End If
    Exit Sub
    Unexpanded:
        '2455         La référence d'une expression à la propriété Form/Report n'est pas valide.
        'se produit lorsque SubForm est vide,ou, au démarrage, si le 1er n'a pas été 'expanded'.
        'Réussit à fonctionner après un Expand On/Off, uniquement pour le PREMIER sous formulaire,
        '   celui qui apparaît en mode subdatasheet.
        If err = 2455 Then
        MsgBox FirstError
            If FirstError = False Then
                Me.SubdatasheetExpanded = True
                Me.SubdatasheetExpanded = False
                FirstError = True
                Resume
            'sinon, tombe en dessous
            End If
        End If
    Première ligne de formulaire principal, ça marche (pas tout le temps)
    deuxième ligne, ça ne marche plus.

    Je ne vois pas ce qu'il manque à ce code pour qu'il marche tout le temps. si quelqu'un a une idée?

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    Je n'avais jamais utilisé cette technique de sous-formulaires imbriqués en mode feuille de données.
    Ton post a aiguisé ma curiosité, et j'ai donc essayé.
    J'aboutis à un code similaire au tien pour gérer la fameuse erreur.

    Il faudrai que tu définisse plus précisément ce qui "ne marche pas".
    Tu n'obtiens le résultat attendu ?

    La seule chose qui diffère entre ton code et le mien c'est que tu as un deuxième
    On Error Goto .... , "On Error GoTo Catch" en l'occurence.
    Peut-être qu'en changeant de gestionnaire d'erreur tu loupes quelque chose.

    Bon courage

  3. #3
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Voila la réponse donnée par microsoft :
    Résolution

    Il faut vérifier la syntaxe de la méthode ou de l'objet utilisé dans ce
    code. Il est en effet probable que vous faites appel à un objet ou une
    méthode non reconnu dans du code Visual Basic.



    EXEMPLE :

    Le Nom d'objet " Formulaire " n'est plus reconnu dans Visual Basic.

    Ainsi la ligne suivante peut provoquer cette erreur :

    MsgBox Me![Formulaire2].Formulaire![Commande0].Caption

    Il faut la remplacer par :

    MsgBox Me![Formulaire2].Form![Commande0].Caption
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

Discussions similaires

  1. Lier un sous-formulaire à un sous-formulaire
    Par bobosh dans le forum IHM
    Réponses: 2
    Dernier message: 02/03/2021, 11h45
  2. Réponses: 5
    Dernier message: 06/05/2015, 12h24
  3. Accéder à un sous-formulaire de sous-formulaire
    Par touftouf57 dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/11/2008, 19h04
  4. Réponses: 16
    Dernier message: 23/01/2008, 17h24
  5. Réponses: 2
    Dernier message: 02/02/2006, 08h23

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