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

Macros et VBA Excel Discussion :

Probleme VBA requete SQL


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 29
    Par défaut Probleme VBA requete SQL
    Bonjour a tous

    J'ai une base de donnée Access UK00 , qui contient des champs : Isin,Date...ext
    J'essaie de faire une requete via VBA pour recuprer les données qui ont pour champs Isin = (valeur d'une cellule) et champs Date compris entre deux valeur recupérees de deux cellules aussi mais ca marche pas, ca bloque ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    oRs1.Open "SELECT * FROM UK00 WHERE Isin = '" & Cells(34, 2).Value & "'  AND Date = '" & Cells(7, 3).Value & "'  And  Date = '" & Cells(7, 6).Value & "'  ", oCon, adOpenDynamic, adLockBatchOptimistic
    et pourtant ca marchait bien quand je mets uniquement Isin = Isin = '" & Cells(34, 2).Value & "'..
    Quelqu'un peut m'aider svp???
    Merci d'avance

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Par défaut
    Bonjour,

    Il me semble que tu as des espaces en trop a plusieurs endroits:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    oRs1.Open "SELECT * FROM UK00 WHERE Isin = '" & Cells(34, 2).Value & _
                "' AND Date = '" & Cells(7, 3).Value & "' And Date = '" & _
                Cells(7, 6).Value & "'", oCon, adOpenDynamic, adLockBatchOptimistic
    Cela dit Date ne peut pas en même temps etre egal à Cells(7, 3).Value et egal a Cells(7, 6).Value, sauf si ces deux cellules contiennent la meme valeur.

    Cordialement,

    Tirex28/

  3. #3
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 29
    Par défaut
    Merci pour votre reponse mais ce que je voulais faire c'est qu'il me donne les données correspondantes aux dates comprise entre Cells(7, 3).Value et Cells(7, 6).Value .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    oRs1.Open "SELECT * FROM UK00 WHERE Isin = '" & Cells(34, 2).Value & "'  AND Date < '" & Cells(7, 3).Value & "'  And  Date > '" & Cells(7, 6).Value & "'  ", oCon, adOpenDynamic, adLockBatchOptimistic

  4. #4
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    oRs1.Open "SELECT * FROM UK00 WHERE Isin = '" & Cells(34, 2).Value & _
                "' AND Date = '" & Cells(7, 3).Value & "' And Date = '" & _
                Cells(7, 6).Value & "'", oCon, adOpenDynamic, adLockBatchOptimistic
    On utilise BETWEEN en sql pour faire les recherches entre deux valeurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    oRs1.Open "SELECT * FROM UK00 WHERE Isin = '" & Cells(34, 2).Value & _
                "' AND Date BETWEEN #" & cdate(Cells(7, 3).Value) & "# And #" & _
                cdate(Cells(7, 6).Value) & "#", oCon, adOpenDynamic, adLockBatchOptimistic

  5. #5
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 29
    Par défaut
    Bonjour SorrowLane
    Merci pour ta reponse.
    Cela marche mais le probleme ca me donne pas les bonnes valeurs.
    Ca prend pas vraiment en compte les deux bornes de dates que je lui donne
    Comment faire?

  6. #6
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Par défaut
    Ca doit être un problème de compatibilité de dates alors. Acces est en anglais et Excel en français.
    Essayes avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    oRs1.Open "SELECT * FROM UK00 WHERE Isin = '" & Cells(34, 2).Value & _
                "' AND Date BETWEEN #" & CDate(CDbl(Cells(7, 3).Value)) & "# And #" & _
                CDate(CDbl(Cells(7, 6).Value)) & "#", oCon, adOpenDynamic, adLockBatchOptimistic

Discussions similaires

  1. probleme de requete sql update en VBA
    Par alexkickstand dans le forum VBA Access
    Réponses: 4
    Dernier message: 23/10/2007, 15h44
  2. Probleme de requete SQL
    Par arcane dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 04/10/2005, 11h59
  3. Probleme de requete SQL avec un champs date
    Par ju360modena dans le forum ASP
    Réponses: 5
    Dernier message: 16/06/2005, 11h18
  4. Probleme Session/requete SQL
    Par kolib dans le forum ASP
    Réponses: 4
    Dernier message: 14/06/2005, 16h23
  5. probleme avec requete sql aime pas les strings
    Par lil_jam63 dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/02/2004, 14h45

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