VBA Erreur Synthaxe SQL

ydu Messages postés 61 Date d'inscription mercredi 1 mars 2006 Statut Membre Dernière intervention 6 août 2009 - 2 janv. 2008 à 10:26
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 2 janv. 2008 à 14:41
Bonjour à tous,

Dans un premier temps j'adresse tout mes voeux pour cette année 2008 a tout les Forumeurs !

Dans un deuxième temps voici mon problème: j'utilie MSQUERY a sein d'une macro mais j'ai une erreur de synthaxe a la ligne qui figure en rouge mais pas moyen de retirer le bug

Merci de votre aide

ydu

'*********************************'
Workbooks("V_PART.xls").Activate
Range("p:v").ClearContents
With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
        "ODBC;DSN=Excel Files;DBQ=C:\Conquete G_Retail\V_PART.xls;DefaultDir=C:\Conquete G_Retail;DriverId=790;MaxBufferSize=2048;PageTimeout" _
        ), Array("=5;")), Destination:=Range("P1"))
        .CommandText = Array( _
        "SELECT source_part.`Code Groupe`, source_part.CODNIV, source_part.CODVEND, source_part.TYPNIV, source_part.CODPRD, source_part.PRODC, source_part.OBJANNEE" & Chr(13) & "" & Chr(10) & "FROM `C:\Conquete G_Retail\V_PART`.source_part source" _
        , "_part" & Chr(13) & "" & Chr(10) & "WHERE (source_part.`Code Groupe`=groupe(x))")
        '.Name = "Lancer la requête à partir de Excel Files"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = True
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .Refresh BackgroundQuery:=True
    End With

3 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
2 janv. 2008 à 10:54
Salut,

Est-ce normal les : à la fin ?

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
ydu Messages postés 61 Date d'inscription mercredi 1 mars 2006 Statut Membre Dernière intervention 6 août 2009
2 janv. 2008 à 13:03
Bonjour,

J'ai retiré les ':' a la fin comme indiqué cei dessous mais rien y fait

**********************

Workbooks("V_PART.xls").Activate
Range("p:v").ClearContents
With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
        "ODBC;DSN=Excel Files;DBQ=C:\Conquete G_Retail\V_PART.xls;DefaultDir=C:\Conquete G_Retail;DriverId=790;MaxBufferSize=2048;PageTimeout" _
        ), Array("=5;")), Destination:=Range("P1"))
        .CommandText = Array( _
        "SELECT source_part.`Code Groupe`, source_part.CODNIV, source_part.CODVEND, source_part.TYPNIV, source_part.CODPRD, source_part.PRODC, source_part.OBJANNEE" & Chr(13) & "" & Chr(10) & "FROM `C:\Conquete G_Retail\V_PART`.source_part source" _
        , "_part" & Chr(13) & "" & Chr(10) & "WHERE (source_part.`Code Groupe`=groupe(x))")
        '.Name = "Lancer la requête à partir de Excel Files"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = True
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .Refresh BackgroundQuery=True
    End With

ydu
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
2 janv. 2008 à 14:41
As-tu essayé en utilisant seulement .Refresh ?
Le BackgroundQuery est déjà déclaré quelques lignes plus haut comme étant True.

Puis tu devrais regarder du côté d'ADO pour faire tes requêtes. Je pense que ce serait moins lourd que de passer par MsQuery (?)

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA.
0
Rejoignez-nous