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 :

Requête SQL Insert Into


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Points : 10
    Points
    10
    Par défaut Requête SQL Insert Into
    Chers membres,


    Je travaille avec un formulaire VB et une base de données ACCESS contenant 3 tables reliées entre-elles par des relations.

    Voiçi les 3 tables :



    TABLE K7_DVD

    Id_K7_DVD (clé primaire)

    Titre

    Realisateur

    Genre

    Duree

    Type

    Reserve

    Loue

    Infos_Film



    TABLE MEMBRE

    Id_Membre (clé primaire)

    Nom

    Prenom

    DateNaissance

    Adresse

    CodePostal

    Ville

    Telephone

    GSM

    Email

    Statut

    Login

    MotDePasse



    TABLE RESERVATION

    Id_Reservation (clé primaire)

    Id_Membre (clé étrangère)

    Id_K7_DVD (clé étrangère)

    Date_Jour_Reservation

    Reserve





    Je voudrais simplement introduire des données dans la table RESERVATION avec la fonction INSERT INTO.

    Je dois d'une part insérer 2 nouvelles données dans les champs Date_Jour_Reservation & Reserve et d'autre part extraire les ID donc de données existantes des 2 autres tables TABLE K7_DVD (Id_K7_DVD) & TABLE MEMBRE (Id_Membre) et les inserer dans les 2 champs restants.

    Je ne sais pas comment écrire la requête.

    Il faut utiliser INSERT INTO mais quoi d'autres encore; un SELECT, un FROM, un INNER JOIN ? Comment faire la jointure dans la requête ?

    Si quelqu'un pouvait m'apporter une aide à ce niveau-là ce serait sympa de votre part.



    Merci d'avance de l'aide que vous pourrez m'apporter.



    jjg65

  2. #2
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Bonjour!
    Avant d'apporter ma proposition, pour plus de clarté, je suggèrerai que tu abordes tes problèmes l'un après l'autre, des tirets par exemple serait les bienvenus.
    Ok! Si j'ai compris ce que tu veux faire, il s'agit de mettre à jour une table, à partir du contenu des autres tables? Est ce exact?
    Je propose alors que tu établisses des relations entre tes tables, avant de songer à l'utilsation de Inner Join & Co
    Cela demandera, sans doute, que tu revois l'architecture (la conception) de ta BD.

    Alors Courage!
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Cher membre,

    Oui tu as raison je veux simplement mettre à jour ma table RESERVATION à partir du contenu (Id) de 2 autres tables. Les relations entre les 3 tables ont bien été établies au préalable.
    Quant à revoir la conception de l'architecture de ma BD je ne vois pas où tu veux en venir.
    Bref en imaginant que ma conception ne soit pas bonne je voudrais néanmoins savoir comment faire une requête à l'aide de Insert Into.
    Merci d'avance.


    TABLE K7_DVD
    Id_K7_DVD(Titre, Realisateur, Genre, Duree,Type, Reserve, Loue, Infos_Film)

    TABLE MEMBRE
    Id_Membre(Nom, Prenom, DateNaissance, Adresse, CodePostal, Ville, Telephone, GSM, Email, Statut, Login, MotDePasse)

    TABLE RESERVATION
    Id_Reservation(Id_Membre,Id_K7_DVD,Date_Jour_Reservation ,Reserve)

    La table RESERVATION reprend les Id des tables MEMBRE & K7_DVD

  4. #4
    Membre averti
    Directeur technique
    Inscrit en
    Novembre 2006
    Messages
    584
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 584
    Points : 403
    Points
    403
    Par défaut
    Je te livre tel quel un INSERT, tu adaptera à tes champs.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Function fctElimInsert(ByVal ElimType As String, ByVal Item As String, ByVal Valeur As Integer, ByVal CalcDate As String)
    '__ Utilisé pour la PROROGATION
    Dim SQLinsElim As String
    SQLinsElim = "INSERT INTO tblElimination (ElimType, Item, ActDate, Valeur, Acteur, CalcDate) " & _
                    "VALUES ('" & ElimType & "', '" & Item & "', " & Chr(35) & Format(Date, "mm/dd/yyyy") & Chr(35) & ", " & Valeur & ", '" & Application.CurrentUser & "', " & Chr(35) & Format(CalcDate, "mm/dd/yyyy") & Chr(35) & ")" & " ;"
        DoCmd.RunSQL SQLinsElim
    End Function
    Cette fonction d'insertion est placée dans un module et est appelée par une procédure d'un formulaire (ce peut-être un bouton) comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     'Ajout de l'info dans la table tblElimination
        ElimInsert = fctElimInsert("PROROGATION", Me.ItemID, DureeSupplementaire, EliminationDateCalculee)
    Je passe 4 valeurs à la fonction mais mon INSERT prend en plus la Date courante et l'utilisateur courant, infos tjrs utiles...
    La clé de la table dans la quelle j'insère est un numauto, mais ça s'incrémente tout seul...
    Soit très attentif à la syntaxe.
    Un seul conseil: la règle des 3S.

  5. #5
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Citation Envoyé par jjg65 Voir le message
    Cher membre,
    Oui tu as raison je veux simplement mettre à jour ma table RESERVATION à partir du contenu (Id) de 2 autres tables. Les relations entre les 3 tables ont bien été établies au préalable.
    Quant à revoir la conception de l'architecture de ma BD je ne vois pas où tu veux en venir.
    Ok Je viens de m'apercevoir dans tes tables les différentes migrations des clés.
    ça y est tout est bon. Tu as là un exemple de requête Insert Into fourni par TamaTaka
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  6. #6
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Points : 10
    Points
    10
    Par défaut Compréhension requête
    Merci de votre aide mais la fonction telle qu'elle est présentée ne m'aide pas beaucoup. Je n'y vois pas le principe de jointure entre tables. Est-ce nécessaire ?
    Ce qui m'aurait intéressé c'est de comprendre le principe de la fonction Insert dans mon cas lorsque il faut reprendre une donnée provenant d'une autre table.
    Si quelqu'un pouvait me faire une requête des plus simples pour résoudre mon problème.

  7. #7
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Bonjour.
    Voici une simple requête d'Insert Into:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Insert Into K7_DVD Values ("","Film","bla","blo","bli","12","","","")
    Mais tu peux trouver plusieurs exemples dans les tutos, ou même dans l'aide de Access
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  8. #8
    Membre averti
    Directeur technique
    Inscrit en
    Novembre 2006
    Messages
    584
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 584
    Points : 403
    Points
    403
    Par défaut
    Non, il n'y a pas de principe de jointure entre tables.
    Ton cas est des plus simple et l'exemple que je t'ai donné s'applique parfaitement.
    Il s'agit d'ajouter dans une table un nouvel enregistrement avec les champs que tu souhaites dont les propriétés type et taille correspondent à ce qui est défini dans la table qui reçoit le nouvel enregistrement.
    Si la clé de la table RESERVATION est un numauto (ce qui est parfaitement indiqué) mon exemple est suffisant.
    A-toi de nous dire comment, par quelle interface l'ajout de la réservation se fait, où est renseignée la date, quest-ce qu'il y a dans Réservé?
    NB:tu fera super gaffe à la syntaxe, mon exemple (encore) doit te mettre sur la voie.
    Un seul conseil: la règle des 3S.

  9. #9
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Points : 10
    Points
    10
    Par défaut requête insert into (suite et fin)
    Chers membres,
    Désolé pour cette réponse tardive. Merci pour les conseils.
    jjg65

Discussions similaires

  1. Réponses: 31
    Dernier message: 29/04/2014, 09h40
  2. Requête SQL Insert Into
    Par Requiem11 dans le forum JDBC
    Réponses: 3
    Dernier message: 15/01/2010, 10h32
  3. Problème de requête sql INSERT INTO
    Par momoh dans le forum VB.NET
    Réponses: 2
    Dernier message: 18/02/2009, 16h58
  4. Problème requête sql : INSERT INTO
    Par bobosh dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/08/2008, 10h43
  5. erreur SQL ...INSERT INTO
    Par naidinp dans le forum ASP
    Réponses: 20
    Dernier message: 18/09/2003, 11h38

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