bonsoir
Je dois faire une union de 2 tables qui contiennent des champs OLE mais j'obtiens un message
Comment faire ?Impossible d'utiliser un champs memo, OLE, HyperLink object 'etat_Ole' dans la clause select d'une requête union
Merci
bonsoir
Je dois faire une union de 2 tables qui contiennent des champs OLE mais j'obtiens un message
Comment faire ?Impossible d'utiliser un champs memo, OLE, HyperLink object 'etat_Ole' dans la clause select d'une requête union
Merci
Bonsoir,
Deux solutions sont possibles...
1) ne pas utiliser de requête UNION qui interdit l'utilisation des champ OLE, mémo ...
2) Tu fabriques ta requète UNION sans les champs OLE, puis tu la réutilises dans une nouvelle requête en faisant une jointure ouverte (LEFT JOIN) sur les tables où se trouvent tes champs OLE car là, tu peux les insérer en utilisant un vraifaux (il te faut bien évidemment une clé unique pour se faire)
requete UNION reqole:
requète utilisant la requète union en y insérant un champ OLE
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT table_2.N°, table_2.chp1, table_2.chp2 FROM table_2 UNION SELECT table1.N°, table1.chp1, table1.chp2 FROM table1;
Ceci n'est qu'un exemple à adapter à ton besoin...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT reqole.*, IIf(Table1.N° Is Not Null,[memo2],[ole1]) AS Myole FROM (reqole LEFT JOIN table1 ON reqole.N°=table1.N°) LEFT JOIN table_2 ON reqole.N°=table_2.N°;
Merci tee_grandbois !
Puis je abuser encore un peu de ton expérience ?
comment ajouter un clé unique sur la table issue de l'union ?
Dans
Peux tu m'expliquer ce qu'est
Code : Sélectionner tout - Visualiser dans une fenêtre à part IIf(Table1.N° Is Not Null,[memo2],[ole1]) AS Myole..
Code : Sélectionner tout - Visualiser dans une fenêtre à part [memo2]
Et bien mémo correspond au champ OLE de la table 1.
Tu aura quelque chose comme ça
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT reqole.*, IIF(Table1.Num IS NULL,Table2.Num,Table1.Num) FROM (reqoleLEFT JOIN Table1 ON Table1.Num = reqole.Num) LEFT JOIN TABLE2 ON Table2.Num = reqole.Num;
Ici, le champ num des tables est l'identifiant de chaque ligne
Merci Tofalu !
C'est pigé, mais il me reste à ajouter un clé unique sur la table issue de l'union..
Comment faire ?
La clé unique elle est dans les tables table1 et table2. C'est elle qui est utilisée par la jointure.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager