Bonjour à tous,
je travaille actuellement sur une macro excel relié à une bd access construite sous excel 2003. La macro permet de suivre l'avancement des dossiers de fabrication en fonction des ateliers (usinage, découpe laser, pliage, inox, noir, ...).
La macro dispose de plusieurs feuilles excel (MECA, NOIR, INOX, PREMONT, LASER, ...) reprenant l'ensemble des dossiers par atelier. Je souhaite ajouter la feuille ELEC afin de suivre l'atelier ELEC.
Le code VBA est prêt mais je suis bloqué sur la bd access.
Je dois créer 3 requêtes supplémentaires : tmp_ELEC, reqEC_ELEC et EC_ELEC. Etant donné que les requêtes sont similaires, j'ai choisis de copier les 3 requêtes correspondant à l'atelier microbillage puis de modifier le code SQL en remplaçant le mot MICROB par ELEC
Je n'ai pas eu de soucis pour les 2 premières requêtes par contre je bloque sur la dernière (EC_ELEC). Dès que j'essaie de modifier la requête (même si je l'ouvre sans rien modifier et que j'essaie de l'enregistrer), access me met l'erreur :
Mise entre crochets non valide du nom 'SELECT T2.*, IIF(IsNull(T2.res), T2.Delt, Val(T2.res)) AS Delta, IIF(IsNull(T2.[Date penurie'.
J'ajoute le code de la requête au message, ça peut aider :
Avez-vous une idée d'où peut venir le problème et comment le résoudre ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT T3.Type, T3.N°, T3.Date, T3.Client, T3.Désignation, T3.[Delta], T3.Code, T3.Qté, T3.[ Statut], T3.Délai1 AS Délai, T3.[Nmcl E], T3.OF, T3.expe + IIF(T3.Delta > 0, "", T3.penurie) AS expe, IIF(IsNull(T3.res), "", T3.Delt) AS deltAnc, T3.penurie FROM [SELECT T2.*, IIF(IsNull(T2.res), T2.Delt, Val(T2.res)) AS Delta, IIF(IsNull(T2.[Date penurie]), T2.Délai, IIF([Delta] <= 0, T2.[Date penurie], T2.Délai)) As Délai1 FROM (SELECT T0.*, T1.res, IIF( IsNull( T_penurie.[Date penurie]), "" , T_penurie.penurie) As penurie , T_penurie.[Date penurie] FROM (tmp_MICROB T0 LEFT JOIN Delta T1 ON T0.Code = T1.ItemCode AND T1.POSTE LIKE T0.Poste) LEFT JOIN T_penurie ON T0.Code= T_penurie.code) T2]. AS T3 ORDER BY T3.Délai1, T3.Delta, T3.Client, T3.Code, LEFT(T3.OP,1), RIGHT(T3.OP,2);
N'hésitez pas à me dire si le message n'est pas clair ou si il vous avez besoin d'informations en plus.
Merci d'avance à ceux qui m'apporteront leur aide.
Partager