Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

executer automatiquement une requete creation de table

2 réponses
Avatar
c.barbier
Bonjour,

je voudrais executer automatiquement en VBA une requete creation de
table. Pour cela, j'ai ecrit le code VBA suivant:

Sub Calcul_Qte_Ordre()

DoCmd.SetWarnings False
DoCmd.RunSQL ("Calcul QteOrdre pour Articles tournants")
DoCmd.SetWarnings True

End Sub

Mais lorsque je lance l'execution, j'ai le message d'erreur suivant:
Run Time error 3129
Invalid SQL statement; exepcted Delete,Insert,Procedure,Select or
Update.

Ma requete SQL est la suivante:
SELECT "Recurrent" AS Frequence, dbo_OrdreFab.Article AS CodeArticle,
Count(ID) AS Nombre, Sum(QteLancee) AS QteTotale,
Sum([QteLancee])/Count([ID]) AS QteOrdre,
(Max([QteLancee])-Min([QteLancee]))/[QteOrdre] AS EcartQte,
IIf([T_exec]=0,"",([T_reglage]/[QteOrdre])/[T_exec]) AS CoeffReglage
INTO ArtRecurent
FROM dbo_OrdreFab INNER JOIN dbo_Article ON
dbo_OrdreFab.Article=dbo_Article.Code
WHERE (((dbo_OrdreFab.Lancement)>=#7/1/2005#) And
((dbo_Article.AchetPlan)<>"OUT") And ((dbo_Article.Lancement)<>"FOQ")
And ((dbo_Article.AchFab)="M") And ((dbo_OrdreFab.Statut)<>"P"))
GROUP BY dbo_OrdreFab.Article, dbo_Article.T_exec,
dbo_Article.T_reglage
HAVING (((Count(ID))>=2));

Savez vous pourquoi j'ai cette erreur?

Merci beaucoup,

2 réponses

Avatar
Rv
Bonjour,

Docmd.OpenQuery "Calcul QteOrdre pour Articles tournants"

ou bien

Dosmd.RunSql "Le texte SQL de la requête plutôt que le nom"

A+

Rv

a écrit dans le message de
news:
Bonjour,

je voudrais executer automatiquement en VBA une requete creation de
table. Pour cela, j'ai ecrit le code VBA suivant:

Sub Calcul_Qte_Ordre()

DoCmd.SetWarnings False
DoCmd.RunSQL ("Calcul QteOrdre pour Articles tournants")
DoCmd.SetWarnings True

End Sub

Mais lorsque je lance l'execution, j'ai le message d'erreur suivant:
Run Time error 3129
Invalid SQL statement; exepcted Delete,Insert,Procedure,Select or
Update.

Ma requete SQL est la suivante:
SELECT "Recurrent" AS Frequence, dbo_OrdreFab.Article AS CodeArticle,
Count(ID) AS Nombre, Sum(QteLancee) AS QteTotale,
Sum([QteLancee])/Count([ID]) AS QteOrdre,
(Max([QteLancee])-Min([QteLancee]))/[QteOrdre] AS EcartQte,
IIf([T_exec]=0,"",([T_reglage]/[QteOrdre])/[T_exec]) AS CoeffReglage
INTO ArtRecurent
FROM dbo_OrdreFab INNER JOIN dbo_Article ON
dbo_OrdreFab.ArticleÛo_Article.Code
WHERE (((dbo_OrdreFab.Lancement)>=#7/1/2005#) And
((dbo_Article.AchetPlan)<>"OUT") And ((dbo_Article.Lancement)<>"FOQ")
And ((dbo_Article.AchFab)="M") And ((dbo_OrdreFab.Statut)<>"P"))
GROUP BY dbo_OrdreFab.Article, dbo_Article.T_exec,
dbo_Article.T_reglage
HAVING (((Count(ID))>=2));

Savez vous pourquoi j'ai cette erreur?

Merci beaucoup,



Avatar
c.barbier
Merci beaucoup, ca marche ! et c'est super rapide