|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Conseil - Consultant en systèmes d'information Inscription : novembre 2011 Messages : 80 ![]() |
Bonjour,
j'ai des tables u&i (construites ds une boucle %do i %to) et chaque table contient un champ ch&i. J'ai besoin d'utiliser table&i.ch&i dans la clause where dans une &tape proc sql mais ca marche pas avec cette syntaxe : table&i.ch&i J'ai essayé table&i!!"."!!ch&i mais ca marche po aussi. Merci d'avance pour votre aide. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 957 ![]() |
Salut,
Pour moi, tu as juste besoin du nom de la variable dans la clause where(Pourquoi &table.?). Si tu utilises des alias, tu n'as pas besoin du nom de la table (exemple: from test as a left join test2 as b where a.&ch=b.&ch ) Tu peux poster le code que tu veux automatiser? |
|
|
00
|
|
|
#3 | ||
|
Candidat au titre de Membre du Club
![]() Conseil - Consultant en systèmes d'information Inscription : novembre 2011 Messages : 80 ![]() |
Bjr,
voici la partie du code ou je me trouve bloquée, je dois mentioner le nom de la table suivie du champ pour faire la mise à jour. Code :
|
||
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 957 ![]() |
As-tu essayé ?
|
|
|
00
|
|
|
#5 | |||
|
Membre Expert
![]() ![]() |
Citation:
Ajoute l'option mprint avant d'exécuter ta macro, regarde dans la log le code générer. z= "&&form&i" et interm.z=u&i.comp&i Dans le première affectation Z est de type caractère, dans la deuxième affectation Z est de type numérique!!!! Il faut vérifier le type de Z. pourquoi &&n.?
__________________
Consultez les FAQs et les anciens postes avant de poser vos questions. Merci
|
|||
|
|
00
|
|
|
#6 | ||
|
Candidat au titre de Membre du Club
![]() Conseil - Consultant en systèmes d'information Inscription : novembre 2011 Messages : 80 ![]() |
Bjr,
comp&i est un champ da la table u&i de type alphanumérique, quand je fé where z=u&i..comp&i; il affiche l'erreur suivante : Code :
|
||
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() ![]() |
Tu es en sql, u1.comp1 => u1 alias sur une table (from table as u1) comp1 c'est le nom d'une table SAS.
Comme tu compares des chaines de caractères, il faut les mettre en deux quotte "" WHERE interm.z="u&i.comp&i";
__________________
Consultez les FAQs et les anciens postes avant de poser vos questions. Merci
|
|
|
00
|
|
|
#8 | ||
|
Candidat au titre de Membre du Club
![]() Conseil - Consultant en systèmes d'information Inscription : novembre 2011 Messages : 80 ![]() |
quand je fé comme ca
il cherche quand est ce que z vaut lachaine "u1.comp1" ou "u2.comp2".. et non pas le champ comp&i de la table u&i Code :
|
||
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() ![]() |
Avant d'écrire du code en macro il faut le tester en code simple (sans macro)
Après tu peux le rendre dynamique. Tu fais référence à des choses qui n'existe pas dans ton code. Les alias u1 u2 ... ils sont définis ou? Je t'invite à écrire pour i =1 le code complet, tu le test.
__________________
Consultez les FAQs et les anciens postes avant de poser vos questions. Merci
|
|
|
00
|
|
|
#10 | |
|
Membre Expert
![]() ![]() |
il y a un problème dans le SQL
il faut écrire un truc du genre Citation:
Ton code devient rapidement compliqué.
__________________
Consultez les FAQs et les anciens postes avant de poser vos questions. Merci
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com