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 :

Liaison de deux tables à structure identique avec colonne memo [AC-2007]


Sujet :

Access

  1. #1
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Octobre 2014
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Antilles Néerlandaises

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Octobre 2014
    Messages : 73
    Points : 62
    Points
    62
    Par défaut Liaison de deux tables à structure identique avec colonne memo
    Bonjour,

    je sèche sur un problème et je ne trouve pas la solution. j'ai d'abord tenter une requête union mais il parait que ça ne marche pas avec les champs mémo. j'ai donc pensé à faire des requêtes ajouts puis à un regroupement des données mais je n'arrive pas à obtenir le résultat voulu.

    j'ai deux tables avec les champs suivants:

    Code produit (texte)
    Nom (texte)
    description (memo)
    description détaillé (memo)
    1ère image zoom (texte)
    categ1 (texte)
    categ2 (texte)
    categ3 (texte)


    Dans ma première table j'ai rempli 4 colonnes et les autres sont vides ou nulles:

    code produit
    nom
    descriptions
    descriptions détaillés


    dans ma seconde table j'ai rempli 5 colonnes et les autres sont vides ou nulles:

    code produit
    nom
    1ère image zoom
    categ1
    categ2
    categ3


    Je voudrais faire la synthèse des deux tables en regroupant sur le code produit mais je ne trouve pas le bon opérateur de regroupement pour mes champs vides ou nulles. Si quelqu'un a la solution ça m’avancerait beaucoup merci.

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    Simplement comme ceci :


    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Octobre 2014
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Antilles Néerlandaises

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Octobre 2014
    Messages : 73
    Points : 62
    Points
    62
    Par défaut
    bonjour,

    Merci pour le coup de main mais je ne suis pas sur que ça s'applique dans mon cas de figure.
    Je précise que mes codes articles ne sont pas tous dans les deux tables à l'identique. j'ai 369 enregistrement dans ma table 1 et 183 dans ma table 2. je devrais au final me retrouver avec 418 lignes (tous les codes produits regroupés)
    Donc si je fais une liaison où tous les codes produits sont égaux aux deux tables et si pour la table1 j'ai code produit 1, 2, 3 et 4 et pour la table 2; 2,3,4,5,6 je vais me retrouver avec une table finale contenant les codes produits 2,3,4 non ? pareil si je fais une liaison gauche ou une liaison droite je n'aurais pas tous les enregistrements ?

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Alors comme ceci

    l'exemple :




    Deux requêtes




    La première ramène tous les enregistrements communs et les orphelins de table 1.

    La deuxième ramène les orphelins de table2.

    Et tu fais l'union de ces 2 requêtes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Table1.codeProduit, Table1.codeNom, Table1.Description, Table1.DescriptionDetail, Table2.ImageZoom, Table2.Categ1, Table2.Categ2, Table2.Categ3
    FROM Table1 LEFT JOIN Table2 ON Table1.codeProduit = Table2.codeProduit UNION SELECT Table2.codeProduit, Table2.codeNom, Table1.Description, Table1.DescriptionDetail, Table2.ImageZoom, Table2.Categ1, Table2.Categ2, Table2.Categ3
    FROM Table1 RIGHT JOIN Table2 ON Table1.codeProduit = Table2.codeProduit
    WHERE (((Table1.codeProduit) Is Null));
    pour obtenir ceci :

    Fichiers attachés Fichiers attachés
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  5. #5
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Octobre 2014
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Antilles Néerlandaises

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Octobre 2014
    Messages : 73
    Points : 62
    Points
    62
    Par défaut
    Oui j'étais parti là dessus également au début en me disant que c'était la solution idéale mais apparemment le champ mémo est tronqué à 255 caractères dans ma requête union, alors qu'il peut allé jusqu'à 4096 ou + de 16000 caractère pour le descriptif long.

    j'ai tendance à préférer votre méthode qui à l'air plus propre que la mienne qui consiste à regrouper mes deux tables dans une autre qui ne contient que le code produit et le nom (donc 418 enregistrements) puis à créer une autre requête [cf. capture d'écran ci-joint] avec deux liaisons gauches sur mes tables 1 et 2.

    Nom : TABLE REGROUPEES.jpg
Affichages : 753
Taille : 73,9 Ko

    j'ai l'impression que ça donne le même résultat que l'UNION et ça à l'air de me conserver mes champs mémo. Toutefois, j'aimerais avoir votre avis et aussi savoir comment gérer le champ tronqué via une UNION. j'ai lu quelque part que le champs restait tout de même conservé en mémoire et qu'il n'y avait que l'affichage de tronquée ?

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    mais apparemment le champ mémo est tronqué à 255 caractères dans ma requête union, alors qu'il peut aller jusqu'à 4096 ou + de 16000 caractères pour le descriptif long.
    Désolé, j’ignorais cette particularité que l’on peut contourner par exemple comme ceci :
    - on définit une table tResultat avec la même structure que les deux autres (qui sera vidée avant chaque exécution) ;
    - on exécute ces deux requêtes :



    - preuve que cette fois OK (« Description » contient 4096 caractères et « DescriptionDetail » en contient 16 396) :




    j'ai lu quelque part que le champ restait tout de même conservé en mémoire et qu'il n'y avait que l'affichage de tronqué ?
    J'en doute. Dans la pièce jointe, vois le formulaire fUnion : les caractères au delà du 256e sont perdus !
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  7. #7
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Octobre 2014
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Antilles Néerlandaises

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Octobre 2014
    Messages : 73
    Points : 62
    Points
    62
    Par défaut
    Bonjour,

    Bon j'ai testé tout ça et ça m'a l'air de marcher
    un grand merci à vous et à toute l'équipe en tout cas pour l'aide que vous fournissez aux débutants comme moi.

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

Discussions similaires

  1. 3 tables dont deux de structure identique, et des COUNT
    Par npopravka dans le forum Langage SQL
    Réponses: 6
    Dernier message: 17/02/2010, 10h35
  2. Réponses: 4
    Dernier message: 28/01/2010, 21h07
  3. Liaison de deux tables avec DBGrids
    Par soror dans le forum Bases de données
    Réponses: 10
    Dernier message: 28/06/2007, 18h34
  4. "Merge" de deux tables à structure identiques
    Par jcachico dans le forum Requêtes
    Réponses: 7
    Dernier message: 09/06/2006, 14h11
  5. [VBA-A] liaison entre deux tables
    Par lumbroso dans le forum VBA Access
    Réponses: 16
    Dernier message: 01/06/2006, 10h22

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