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 INTO avec recuperation d'ID d'une autre table


Sujet :

Requêtes et SQL.

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Par défaut INSERT INTO avec recuperation d'ID d'une autre table
    Bonjour,

    Je travaille dans un fichier Excel avec BDD Access. Je traite des donnees en masse a partir d'autres fichiers Excel.

    J'ai besoin de faire un INSERT INTO (a partir d'une boucle For dans un tableau Excel) dans une table principale, mais pour certaines des valeurs, il s'agit de recuperer l'ID dans une table referentielle au lieu d'y inserer le nom complet que l'utilisateur voit.

    J'essaie de faire quelque chose comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO tAchats (fDate, fProduit, fQuantite)
    VALUES ('31/01/2013', SELECT tProduits.fID FROM tProduits WHERE tProduits.fName='Coca', 4)
    C'est un exemple simplifie, auquel j'ajoute le fichier qui sera plus parlant. Je voudrais dans cet exemple ajouter un achat de 4 bouteilles de Coca par exemple, mais en inserant l'ID de Coca au lieu du nom.

    La realite est, comme je le disais plus haut, que tout est recupere a partir de boucle For dans des tableaux contenants environ 6,000 lignes.

    Je vous remercie par avance pour votre aide.
    Cdt,
    Fichiers attachés Fichiers attachés

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

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 959
    Par défaut
    Bonsoir,
    Avec VALUES, il faut utiliser le DOMAINE car Access n'accepte pas des sous-requêtes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO tAchats ( fProduits, fDate, fQuantite ) VALUES(Dlookup("fID","tProduits","fNom = 'coca'") , #1/31/2013# , 4);
    Sinon on peut le faire sans passer par VALUES :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO tAchats ( fProduits, fDate, fQuantite )
    SELECT tProduits.fID, #1/31/2013# AS fDate, 4 AS fQuantite
    FROM tProduits
    WHERE tProduits.fNom="Coca";

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/11/2012, 14h14
  2. Requête avec vérification d'existence dans une autre table
    Par TigerCX dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/04/2011, 19h06
  3. [AC-2010] Insertion de champs d'un formulaire vers une autres table
    Par papagei2 dans le forum VBA Access
    Réponses: 7
    Dernier message: 30/12/2009, 13h17
  4. [MySQL] Insertion d'un identifiant auto-incrementé dans une autre table
    Par knebhi dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 30/07/2009, 11h25
  5. contraint CHECK avec lecture de données sur une autre table ?
    Par mamiberkof dans le forum Langage SQL
    Réponses: 1
    Dernier message: 22/05/2006, 09h14

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