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 :

[A-03] [VB6] Mise à jour d'une table


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 310
    Points : 133
    Points
    133
    Par défaut [A-03] [VB6] Mise à jour d'une table
    Bonjour tout le monde.
    J'utilise vb6 pour interfacer une base de données Access 2003.
    J'ai des soucis par rapport a la mise à jour d'une table. Je vous expplique mon problème.

    J'ai deux tables qui on le même schéma.
    Table1(id,nom, age) et TMPTable1(id,nom, age)
    Je souhaite faire la mise à jour de Table1 à partir de TMPTable1

    Un exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Table1 contient:
    id          |  nom      |    age 
    1           |Dupont   | 2   
    2           |Dupond   | 5
    3           |Arnaud   | 6
    
    TMPTable1 contient:
    id          |  nom      |    age 
    1           |Dupont   | 2   
    2           |Dupond   | 9
    3           |Arnaud   |3
    4           |Titeuf    | 6   
    
    je voudrais donc àprès la mise a jour avoir ceci
    Table1 contiendra:
    id          |  nom      |    age 
    1           |Dupont   | 2   
    2           |Dupond   | 9
    3           |Arnaud   |3
    4           |Titeuf    | 6
    j'ai essayer de supprimer d'abord les enregistrement de Table1 mais il se trouve que est une clé étragère dans d'autres table.

    Si quelqu'un à une idée elle est la bienvenue.
    D'avance merci!

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Un truc comme ça (pas testé)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    insert into Table1 select * from TMPTable1 where id not in (select id from Table1)

  3. #3
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour,

    Ton message sous-entend que ta table est liée (intégrité référentielle) à une autre table. La suppression est refusée car d'autres données font références aux enregistrements de ta table table1.


    Le plus simple est sans doute de faire

    1. une requête Mise à jour pour les lignes existantes
    2. une requête ajout pour les nouvelles lignes

  4. #4
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 310
    Points : 133
    Points
    133
    Par défaut
    Citation Envoyé par mout1234 Voir le message
    Bonjour,


    Le plus simple est sans doute de faire

    1. une requête Mise à jour pour les lignes existantes
    justement c'est la requete de mise à jour des lignes existante qui me bloque.
    pour les nouvelles lignes la requete de pc75 marche correctement je l'avait tester

  5. #5
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Pour la mise à jour (toujours pas testé) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    update Table1 inner join TMPTable1 on Table1.id = TMPTable1.id set age = TMPTable1.age

  6. #6
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 310
    Points : 133
    Points
    133
    Par défaut
    Citation Envoyé par pc75 Voir le message
    Re,

    Pour la mise à jour (toujours pas testé) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    update Table1 inner join TMPTable1 on Table1.id = TMPTable1.id set age = TMPTable1.age
    Merci pc75 ta requête marche.J'ai du ajouté des parenthèses

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    update (Table1 inner join TMPTable1 on Table1.id = TMPTable1.id) set Table1.age = TMPTable1.age
    Merci beaucoup le king

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mise à jour d'une table
    Par smotte76 dans le forum Access
    Réponses: 2
    Dernier message: 31/10/2005, 18h13
  2. Mise à jour d'une table
    Par bath dans le forum Oracle
    Réponses: 5
    Dernier message: 19/10/2005, 12h01
  3. Mise à jour d'une table avec un fichier csv
    Par blackangel dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 26/05/2005, 14h46
  4. Réponses: 5
    Dernier message: 06/01/2005, 12h07
  5. mise à jour d'une table d'interbase sous delphi
    Par kouraichi35 dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/10/2004, 13h09

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