IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Critère SQL en VBA sous Excel


Sujet :

Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 34
    Points : 18
    Points
    18
    Par défaut Critère SQL en VBA sous Excel
    Bonjour,
    Je cherche à importer une table sous excel à partir d'Access, j'ai donc une requête qui marche très bien, mais j'aimerais passer l'un des critères en une variable pour que l'utilisateur puisse l'entrer.
    Problème, je n'ai jamais fait de SQL et je n'arrive pas à trouver quelque chose qui marche.
    Voilà le critère d'origine:
    (`Portefeuilles Tickers`.quote_date={ts '2007-07-02 00:00:00'})

    Voilà ce que j'ai essayé :
    (`Portefeuilles Tickers`.quote_date={ts '" & variable & " 00:00:00'})

    Mais comme vous l'avez compris ca ne marche pas.
    C'est sûrement très simple, probablement un tout petit truc à changer mais je ne le trouve pas donc merci d'avance pour votre aide!

  2. #2
    Membre émérite

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Points : 2 523
    Points
    2 523
    Billets dans le blog
    1
    Par défaut
    Salut
    essaie l'enregistreur de macro
    tu lances une modification de ta requete par MSquerry aprés tu pourra regarde le code genere les variables seront à "bricoler" pour etre integre au code
    Daranc

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 34
    Points : 18
    Points
    18
    Par défaut
    J'ai déjà utilisé l'enregistreur de macro pour avoir le code en VBA qui fonctionne sans problème. Mais justement quand je fais la requête je dois dire le champ, égal à, la valeur. Et ca m'enregistre le code avec la valeur fixée.
    J'imagine que mon problème est juste un problème de syntaxe, à savoir que j'ai mal intégré la variable dans la ligne de code. Je pense notamment qu'il y a un problème avec les 00:00:00.

  4. #4
    Membre émérite

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Points : 2 523
    Points
    2 523
    Billets dans le blog
    1
    Par défaut
    non si tu as reper ta valeur et que tu puisse la changer 99% du boulot est fait
    il faut qu'avant ce code tu place un truc du genre mavariable= range("p5").value
    ( P etant la cellule ou tu va saisir la valeur qui t'interesse
    et dans le code tu place (de memoire): debut du code" & mavarible & " suite du code
    Daranc
    bon ap'

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 34
    Points : 18
    Points
    18
    Par défaut
    C'est ce que j'ai fait
    (`Portefeuilles Tickers`.quote_date={ts '2007-07-02 00:00:00'})
    C'est l'instruction d'origine, qui marche

    et j'ai bien fait:
    mavariable = 2007-07-02
    (`Portefeuilles Tickers`.quote_date={ts '" & mavariable & " 00:00:00'})

    Je ne vois donc pas ce qui ne va pas...

  6. #6
    Membre émérite

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Points : 2 523
    Points
    2 523
    Billets dans le blog
    1
    Par défaut
    Excuse j'avais zappé au retour de la pose bouffe (j'ai été harponné dès la pointeuse)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim fin$
    Dim debut$
    fin$ = "{ts '" & Range("r22").Value & "'}"
    debut$ = "{ts '" & Range("r21").Value & "'}"
    pour une date de début saisie en R22 et une date de fin en R21 (pas la Renault)
    c'est ce que j'ai sur une requête mais le code en variable à une forme String (c'est plus sexy)
    ce qui donne ceci dans la macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     AND (C.DATE_DECL>=" & debut$ & "  And C.DATE_DECL<=" & fin$ & ")" _
            )
            .Refresh BackgroundQuery:=False
    en plus des dates j'ai huit autres critères de sélection dans les lignes de requêtes; donc ça devrait marcher.
    Daranc

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 34
    Points : 18
    Points
    18
    Par défaut
    Merci Daranc mais j'avais réussi à résoudre mon problème. En fait c'est juste que la variable se mettait automatiquement en type date alors qu'en la mettant en type String ca marche.
    Merci quand même pour ton aide!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] SQL dans VBA sous Excel (Classeur fermé)
    Par Blaiz58 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 30/07/2014, 16h51
  2. recopie conditionnel par fonction VBA sous Excel
    Par LinusVince dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/02/2006, 18h33
  3. Une macro synthese en VBA sous excel!
    Par max2245 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 27/12/2005, 20h37
  4. objet shape en vba sous excel
    Par kernel57 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/11/2005, 15h04
  5. Doc pour créer requetes SQL via ODBC sous EXCEL
    Par satanas dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 25/01/2005, 08h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo