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 :

Validation automatique d'un nouvel enregistrement à l'ouverture d'un sous-formulaire


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 34
    Points : 32
    Points
    32
    Par défaut Validation automatique d'un nouvel enregistrement à l'ouverture d'un sous-formulaire
    Bonjour,

    J'ai 3 tables :
    T_RC, clé primaire : CodeRC (num auto) (regroupe des Réclamations Clients)
    T_Avoir, clé primaire : NumAvoir (num auto), clé étrangère : CodeRC
    T_AvoirProduits, clé primaire : NumAvoirProd (nom auto),clé étrangère : NumAvoir

    A partir de ces tables, j'ai créé 1 formulaire principal, contenant 1 sous-formulaire, contenant lui-même 1 sous-formulaire :
    F_RC contient F_SS_Avoir, formulaires reliés par les champs CodeRC
    F_SS_Avoir contient F_SS_AvoirProduits, formulaires reliés par les champs NumAvoir.
    (détail : les 2 sous-formulaires sont insérés dans un onglet "Avoir" du formulaire principal)

    Le processus :
    Je crée une Réclamation client (RC) puis je choisi dans un liste déroulante le type "Avoir" -> l'onglet Avoir s'affiche.
    Le champ NumAvoir contient alors "NumAuto" car l'enregistrement n'est pas encore validé. Dès que je saisis des infos dans des champs du formulaire F_SS_Avoir, NumAvoir s'incrémente et je peux poursuivre sans pb. Mais si je n'ai pas d'infos particulière à saisir concernant cet avoir et que je passe à la sélection des lignes de produits du formulaire F_SS_AvoirProduits, les lignes s'enregistrent bien dans la table, mais en laissant le champ NumAvoir vide ! Comment forcer la création et surtout la validation d'un nouvel enregistrement dans la table avoir dès l'affichage de l'onglet, pour éviter cela?

    Merci pour vos réponses
    Cordialement

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 107
    Points : 5 230
    Points
    5 230
    Par défaut
    Bonjour,

    A l'activation de l'onglet "avoir', il est possible de vérifier qu'un avoir existe (not recordset.eof) et sinon faire un insert into pour en créer un

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 34
    Points : 32
    Points
    32
    Par défaut
    Tout d'abord, merci pour ton aide.

    J'ai donc inséré le code suivant à l'entrée du formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub F_Avoir_Enter()
        If Not Me.Recordset.EOF Then
            DoCmd.RunSQL "Insert into T_Avoir (CodeRC) values (Formulaires!F_RC.CodeRC)"
            Me.Requery
        End If
    End Sub
    Cela fonctionne, mais trop bien (!) puisque dès que je clique dans le formulaire F_Avoir ou le sous-formulaire, il recommence le test et m'ajoute des enregistrements à l'infini.
    Pour info : j'ai rajouté le Me.requery car sinon le pb d'enregistrement restait le même. Et j'ai appliqué le code à l'évènement d'entrée dans le formulaire, car sur l'activation, rien ne se passait non plus.

    Je ne suis pas très à l'aise avec vba. N'y a -til pas une solution via l'interface Access ? ce cas de figure de sous formulaire imbriqué me semble pourtant assez courant. Ai-je mal structuré mon interface ?

    Cdlt

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 107
    Points : 5 230
    Points
    5 230
    Par défaut
    Bonjour,

    Le Not est en trop : il faut insérer si EOF
    Et ainsi ça marcherait aussi sur l'activation je pense.
    Pour une autre solution je fais tout en VBA et il est très rare que je crée des enregistrements via l'interface access donc...

Discussions similaires

  1. Réponses: 8
    Dernier message: 22/12/2012, 15h52
  2. [AC-2010] Sélection automatique d'un nouvel enregistrement dans ZdL
    Par Tevsox dans le forum VBA Access
    Réponses: 5
    Dernier message: 07/02/2012, 15h04
  3. Réponses: 13
    Dernier message: 25/10/2009, 23h11
  4. Réponses: 4
    Dernier message: 09/10/2008, 10h44
  5. Réponses: 2
    Dernier message: 10/10/2004, 23h12

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