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

Access Discussion :

Table1 moins Table2


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 39
    Points : 18
    Points
    18
    Par défaut [Résolu] Table1 moins Table2
    Bonjour,

    je voudrais demander comment réaliser "Table1 - Table2" en VBA s'il vous plait? (en fait les 2 tables ont la meme structure et table2 est une partie de table1)
    le code suivant ne marche pas à cause de l'erreur d'exécution 3131: erreur de syntaxe dans la clause FROM
    Merci d'avance!

    Sub except()

    Dim DB As DAO.Database
    Dim RS1 As DAO.Recordset
    Dim RS2 As DAO.Recordset
    Set DB = Application.CurrentDb
    Dim SQLList1 As String
    Dim SQLList2 As String

    Set RS1 = DB.OpenRecordset("Table1", dbOpenDynaset)
    Set RS2 = DB.OpenRecordset("Table2", dbOpenDynaset)

    SQLList1 = "SELECT * FROM [Table1]"
    SQLList2 = "SELECT * FROM [Table2]"
    SQLList2 = SQLList1 & " EXCEPT " & SQLList2 & ";"
    DB.Execute SQLList2
    End Sub

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 419
    Points : 508
    Points
    508
    Par défaut
    Salut

    Suis pas trop sur mais ça ressemble à une requete de non correspondance.
    Essaye avec l'assistant pour voir

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 39
    Points : 18
    Points
    18
    Par défaut
    désolée je n'ai pas compris...

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 419
    Points : 508
    Points
    508
    Par défaut
    Si j'ai bien compris tu veux tous les enreg de table1 qui ne sont pas dans table2, c'est ça ?

    ça donne un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT idtable1, idtable2
    FROM Table1 LEFT JOIN Table2 ON idtable1 = idtable2
    WHERE idtable2 Is Null;

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 39
    Points : 18
    Points
    18
    Par défaut
    en fait ce que je veux est tres simple. par exemple:
    Table1:
    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
    Champ1 Champ2
    aa        a
    bb        b
    cc        c
    dd        d
    ee        e
     
    Table2:
    Champ1 Champ2
    bb        b
    cc        c
     
    le objectif est pour obtenir "Table1-Table2":
    Champ1 Champ2
    aa        a
    dd        d
    ee        e

  6. #6
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    slt,

    tu cliques "nouvelle requête" et dans les assistants tu choisis "requête de non correspondance", non?

  7. #7
    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,

    Tu peux utiliser ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select champ1, champ2 from table1 where champ1 + champ2 not in (select champ1 + champ2 from table2)

  8. #8
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 39
    Points : 18
    Points
    18
    Par défaut
    Salut Arkham46,
    malheureusement, dans les assistants je ne peux pas choisir "requête de non correspondance", il faut réinstaller Access, mais c'est pas possible maintenant...

    Salut, pc75
    j'ai déjà essayé "where not in", mais c'est toujours la même erreur...

    je voudrais demander s'il y un autre moyen, STP?
    merci!

  9. #9
    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,

    Montre nous la dernière version de ta requête stp.

  10. #10
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 39
    Points : 18
    Points
    18
    Par défaut
    SELECT * FROM Table1
    WHERE Table1.champ1 NOT IN
    (SELECT Table2.champ1 FROM Table2)

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 166
    Points : 169
    Points
    169
    Par défaut
    +1 pour pc75. J'aurais suggéré la même chose.

    Elle te renvoie quoi ta dernière requête?
    -Tu as des clés primaires sur tes tables? Essaie aussi de détailler tes champs plutôt que d'utiliser *. Je ne pense pas que ce soit le problème mais ça peut simplifier le débuggage.

    -Pour une erreur de de syntaxe : est-ce que les deux champs ont exactement la même définition? Type de champ, même longeur si c'est des string...

    Caroline

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 419
    Points : 508
    Points
    508
    Par défaut
    Essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT Table1.Champ1, Table2.Champ2
    FROM Table1 LEFT JOIN Table2 ON Table1.Champ1= Table2.Champ1
    WHERE Table2.Champ1 Is Null;
    c'est le code d'un requete de non correspondance...

  13. #13
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 39
    Points : 18
    Points
    18
    Par défaut
    Merci bp, c'est bon maintenant!!

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 166
    Points : 169
    Points
    169
    Par défaut
    N'oublie pas le tag Résolu :-)
    En haut : Outils de la discussion -> Résolu

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

Discussions similaires

  1. [MySQL] Mise à jour table1 avec table2
    Par arthuro45 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 10/08/2009, 17h09
  2. update table1 from table2
    Par lesageelu dans le forum SQL
    Réponses: 9
    Dernier message: 09/07/2009, 14h00
  3. Comment faire! Enregistrer Table1 et Table2
    Par 810mcu dans le forum Modélisation
    Réponses: 3
    Dernier message: 13/10/2008, 13h15
  4. transfert du table1 vers table2 avec decoupage table2.champ2
    Par oscar.cesar dans le forum VBA Access
    Réponses: 7
    Dernier message: 23/10/2007, 06h10
  5. Copier données de table1 vers table2 dans paradox
    Par marcus333 dans le forum Bases de données
    Réponses: 3
    Dernier message: 26/03/2006, 18h05

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