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

Modélisation Discussion :

Insert + boucle d'un SF


Sujet :

Modélisation

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 65
    Par défaut Insert + boucle d'un SF
    Bonjour,
    Je travaille sur Access 2007.
    Je souhaite "en une pierre deux coups" remplir des données de deux tables différentes à partir d'un seul formulaire.
    J'ai en faite un formulaire indépendant dans lequel sont saisie l'identifiant d'un gestionnaire et l'identifiant d'un programme. Il s'agit des données de la table de relation GESTIONNAIRE_PROGRAMME.
    Et dans cette table de relation, pour un Gestionnaire et un programme on a plusieurs BOCAGES.
    Ex: Id_Gestionnaire1 Id_Prog1 Id_Bocage1
    Id_Gestionnaire1 Id_Prog1 Id_Bocage2...
    J'ai donc inséré dans mon formulaire, un sous formulaire en mode feuille de donnée dont la source est T_Bocage.
    Pour que les données de ma table relation soit inseré j'ai utilisé ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    strSql = "INSERT INTO T_RELATION_GEST_PROG_BOCAGE (ID_BOCAGE_PGB, ID_GESTIONNAIRE, ID_PROGRAMME )"
    strSql = strSql & "VALUES ('" & Forms!F_SAISIE_PGB.SF_SAISIE_BOCAGE_PGB!TXT_ID_BOCAGE_PGB & "', '" & f!LST_GESTIONNAIRE & "', '" & f!LST_PROGRAMME & "')"
    Le problème est que lorsqu'il y a plusieurs bocages pour un même gestionnaire et un même programme, on n'enregistre seulement le dernier bocage saisi.
    Je pense que dans mon programme je doit utiliser une boucle mais je ne sais pas comment faire.
    Avez vous une solution?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 31
    Par défaut
    Je pense que le fait d'utiliser une requête d'insertion en SQL (j'imagine que tu fais un DoCmd.RunSQL pour l'exécuter) est plutôt une bonne approche. Par contre, je te propose plutôt d'utiliser la requête suivante - qui est légèrement différente de celle que tu as faite:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    strSql = "INSERT INTO T_RELATION_GEST_PROG_BOCAGE (ID_BOCAGE_PGB, ID_GESTIONNAIRE, ID_PROGRAMME )"
    strSql = strSql & "SELECT ID_BOCAGE, '" & f!LST_GESTIONNAIRE  & "' AS ID_GESTIONNAIRE, '" & f!LST_PROGRAMME & "' AS ID_PROGRAMME FROM T_Bocage"
    La requête ci-dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT ID_BOCAGE, '" & f!LST_GESTIONNAIRE  & "' AS ID_GESTIONNAIRE, '" & f!LST_PROGRAMME & "' AS ID_PROGRAMME FROM T_Bocage"
    pour chaque ligne de T_Bocage met dans la table T_RELATION le champ ID_BOCAGE (NB: j'ai fait l'hypothèse que c'est comme cela que s'appelle le champ qui contient l'id du bocage dans T_Bocage - il faut mettre le bon nom si celui-ci est différent dans la table T_Bocage que tu as définie) et la valeur du champ id gestionnnaire du formulaire et la valeur du champ id bocage du formulaire. Pas besoin de boucle à priori donc...

    Idéalement, il faut que cette requête soit exécuter une seule fois, dès que tous les id bocage ont été renseignés dans T_Bocage par l'utilisateur.

    Tiens-moi au courant si cela résoud ton pb ou non...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 65
    Par défaut
    C'est parfait.
    Merci de ton aide.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 31
    Par défaut
    well de rien... il ne reste plus qu'à cliquer sur le bouton "Résolu" de ton post...

Discussions similaires

  1. [MySQL] Problème INSERT boucle for.
    Par Francis59000 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/04/2011, 13h45
  2. [Conception] INSERT par boucle ?
    Par dunbar dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 14/08/2006, 16h06
  3. INSTEAD OF + INSERT = Boucle infinie ?
    Par Monstros Velu dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/07/2006, 16h59
  4. [Conception] boucle insertion dans table
    Par Invité dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 15/03/2006, 10h38
  5. Probleme d'insertion de fichiers – Boucle recursive ?
    Par LLEJEUNE1 dans le forum Général Python
    Réponses: 1
    Dernier message: 09/02/2006, 18h35

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