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

Requêtes et SQL. Discussion :

INSERT d'un multiple de ligne


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    novembre 2022
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : novembre 2022
    Messages : 1
    Points : 1
    Points
    1
    Par défaut INSERT d'un multiple de ligne
    Bonjour,

    Je recherche comment pouvoir insérer dans une table un multiple de ligne d'une autre table, je m'explique:

    Je possède une table "template" qui me permet de stocker plusieurs types d'équipements disons.

    Dans l'un de mes formulaires, je viens sélectionner l'une de mes lignes de la tables "template" pour pouvoir l'insérer dans ma table finale "equipement" à l'aide de la requête lancer par macro :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    INSERT INTO T.Equipement
    SELECT * T_Template FROM T_Template
    WHERE (((T_Template.Ajouter)=True));
    Ma question est: Comment puis-je insérer plusieurs fois une même ligne de la table "template" dans la table "equipement" sans avoir a reproduire plusieurs fois la manipulation de sélection de la ligne ou de relance de requête ? Est-il possible en insérant un nombre dans l'une des colonnes de la table "template" ou dans un champ du formulaire de multiplier par ce nombre la ligne de la table "template" a insérer dans la table "equipement" ?

    Merci beaucoup

  2. #2
    Expert confirmé
    Homme Profil pro
    Webplanneur
    Inscrit en
    octobre 2007
    Messages
    3 724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : octobre 2007
    Messages : 3 724
    Points : 5 694
    Points
    5 694
    Par défaut
    Salut
    A tester où NbLignes est un champ de votre T_Template
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For i = 1 To Me.NbLignes
        CurrentDb.Execute "INSERT INTO T.Equipement" _
        & " SELECT T_Template.*" _
        & " FROM T_Template" _
        & " WHERE T_Template.Ajouter = True", dbFailOnError
    Next i
    "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
    Si la réponse est satisfaisante, alors 1 et n'oubliez pas de clôturer le sujet en cliquant sur

  3. #3
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2004
    Messages
    7 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2004
    Messages : 7 827
    Points : 18 400
    Points
    18 400
    Billets dans le blog
    35
    Par défaut
    Bonjour,

    Le nom de la table équipement n'est-il pas T_Equipement.

    Car Access n'autorise pas le "." dans les noms des objets :

    T.Equipement -> T_Equipement

    Il y a aussi un souci dans la requête insertion :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO T.Equipement
    SELECT T_Template.* FROM T_Template
    WHERE T_Template.Ajouter=True;

    Il n'y a pas le même nombre de champs dans les 2 tables, car le champ Ajouter ne doit pas être présent dans la table T_Equipement.

    Donc, peut-être faut-il choisir les noms des champs dans le select, et le code de Hyperion :

    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For i = 1 To Me.NbLignes
        CurrentDb.Execute "INSERT INTO T_Equipement" _
        & " SELECT IdEquipement, .." _ ' ici les noms des champs de T_Template
        & " FROM T_Template" _
        & " WHERE Ajouter = True", dbFailOnError
    Next i

    Cordialement.
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

Discussions similaires

  1. Insertion multiple de lignes
    Par Invité dans le forum Développement
    Réponses: 4
    Dernier message: 11/03/2014, 12h45
  2. [MySQL] Insertion checkbox multiples en ligne dans ma base.
    Par snorky94 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 05/09/2012, 21h31
  3. Réponses: 6
    Dernier message: 24/05/2006, 12h12
  4. [VBA-E] Insertion d'un saut de ligne dans un mail automatique
    Par alex_95 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 10/05/2006, 18h58
  5. Réponses: 9
    Dernier message: 23/05/2005, 10h35

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