[access VBA] coder une requête SQL en VBA

Fermé
fredo91170
Messages postés
7
Date d'inscription
vendredi 6 octobre 2006
Statut
Membre
Dernière intervention
31 juillet 2007
- 6 oct. 2006 à 10:01
blux
Messages postés
24425
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
26 septembre 2022
- 6 oct. 2006 à 10:26
Bonjour à tous

Voile je suis tout nouveau sur ce site et qui plus est je débute en programmation.
Ma question ne me semble pas difficile, néanmoins j'aimerai savoir si quelqu'un pourrai m'aider à coder totalement cette requête acces en code SQL vers du langage VBA:

SELECT [Sales Orders It Macro].[Opé], [Sales Orders It Macro].[Lp], [Sales Orders It Macro].[Titre], [Sales Orders It Macro].[Raison], Sum([Sales Orders It Macro].[Qte]) AS SumOfQte, Avg([Sales Orders It Macro].[Mt]) AS AvgOfMt
FROM [Sales Orders It Macro]
GROUP BY [Sales Orders It Macro].[Opé], [Sales Orders It Macro].[Lp], [Sales Orders It Macro].[Titre], [Sales Orders It Macro].[Raison]
HAVING ((([Sales Orders It Macro].Opé)="200640C") AND ((Avg([Sales Orders It Macro].Mt))>0));

Merci infiniement pour vos réponses

1 réponse

blux
Messages postés
24425
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
26 septembre 2022
3 229
6 oct. 2006 à 10:26
Salut,

il faut mettre ton code dans une chaine (en évitant les guillemets puisqu'on en a dans la définition de la chaine), puis définir une requête qu'on pourra exécuter :
Dim Str as String
Dim Req As QueryDef
Str = "SELECT [Sales Orders It Macro].[Opé], [Sales Orders It Macro].[Lp], [Sales Orders It Macro].[Titre], [Sales Orders It Macro].[Raison], Sum([Sales Orders It Macro].[Qte]) "
Str = Str + "AS SumOfQte, Avg([Sales Orders It Macro].[Mt]) AS AvgOfMt
FROM [Sales Orders It Macro] "
Str = Str + "....."
Str = Str + "HAVING ((([Sales Orders It Macro].Opé)='200640C') AND ((Avg([Sales Orders It Macro].Mt))>0));" 
Set Req = CurrentDb.CreateQueryDef("", Str)
Req.Execute dbFailOnError
0