VBA requête

pierrejean69 Messages postés 2 Date d'inscription mercredi 5 juillet 2006 Statut Membre Dernière intervention 12 juillet 2006 - 12 juil. 2006 à 09:08
pierrejean69 Messages postés 2 Date d'inscription mercredi 5 juillet 2006 Statut Membre Dernière intervention 12 juillet 2006 - 12 juil. 2006 à 11:05
Bonjour à tous !!!
Je suis actuellement en train de faire une petite macro sur VBA excel et je suis fasse à un prob. depuis maintenant 3 jours !!!
Je vous explique : j'enregistre une requête SQL en entrant un certain nombre de critère , cette fameuse requête va puiser les infos dans une base Access jusqu'içi tout va bien mais quand je lance la macro la dernière ligne me fait tout planter !!!  avec le message d'erreur " erreur d'exécution : 1004 , erreur de syntaxe SQL" voici un extrait de la bête : 

            "WHERE (`requête d'exploitation test 1`.CATEGORIE='LOGEMENTS') AND (`requête d'exploitation test 1`.TYPE='collectifs') AND (`requête d'exploitation test 1`.REGION='DAUPHINE SAVOIE') AND (`requête d'exploitation test 1`.Année_OS>='2004')" _
        , _
        "AND requête d'exploitation test 1`.SHOT>='450') AND requête d'exploitation test 1`.SU>='500'")
       
       
        .Name = "Lancer la requête à partir de MS Access Database"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .Refresh BackgroundQuery:=False
       
        End With
       
End Sub

Merci à tous ceux qui prendrons un peu de leur temps pour se pencher sur mon souci

pierrejean69

"la liberté consiste à faire tout ce que permet la longuer de la chaîne"

2 réponses

tbbuim1 Messages postés 940 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 3 février 2011 9
12 juil. 2006 à 09:27
Beh dans un premier temps, je te suggère de prendre ta requête avec les chiffres et les valeurs à la place des variables et de la lancer sous access pr voir si ton erreur se reproduit (en principe elle doit forcément se reproduire) mais l'avantage c que sous access tu verras où est ton erreur.

Déjà si tu passes des chiffres en paramètres, tu peux ne pas mettre de cote SHOT = 450 sinon c que tu passes un string '450'
Donc peut être que ton erreur vient de là, et requête d'exploitation test 1 si c le nom de ta requête d'où sont tirés les champs écrit ça entre crochets
[requête d'exploitation test1].CATEGORIE
voilà, sinon évite les cotes les apostrophes etc
TBBUIM
0
pierrejean69 Messages postés 2 Date d'inscription mercredi 5 juillet 2006 Statut Membre Dernière intervention 12 juillet 2006
12 juil. 2006 à 11:05
Je viens d'essayer mais rien n'y fait maintenant des erreurs de syntaxes...Mais j'ai essayer d'effectuer la macro avec uniquement 3 requêtes et ça marche  je n'y comprend plus rien pourquoi avec 3 et pas plus ....?

pierrejean69
0
Rejoignez-nous