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 :

requete sql avec variable feuil-range


Sujet :

Excel

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 186
    Points : 61
    Points
    61
    Par défaut requete sql avec variable feuil-range
    Bonjour
    Je cherche a faire une requete avec comme parametre la valeur de ma cellule:
    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    sql= "select* from my_table where id= 2 AND annee='(Feuil1.Range("B").valeur+1)'"
    Set rec = db.OpenRecordset(sql, DAO.dbOpenSnapshot)
    merci

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  3. #3
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 186
    Points : 61
    Points
    61
    Par défaut
    Citation Envoyé par cafeine Voir le message
    Hi cafeine
    ces bien le lien , mais ca ne repond pas a ma question ,ou du moins je nai pas bien saisi la methode..
    Je cherche a exporte les valeurs de ma table access qui repond a ces criteres..
    merci

  4. #4
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Ok, mais tu es dans Access ou dans Excel ?
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  5. #5
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 186
    Points : 61
    Points
    61
    Par défaut
    Citation Envoyé par cafeine Voir le message
    Ok, mais tu es dans Access ou dans Excel ?
    Hi
    je suis dans excel (vba)
    merci

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 186
    Points : 61
    Points
    61
    Par défaut
    Hi
    voici ce que jai trouve et cela marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sql = "select* from my_table where id= 2  AND annee= " & Feuil1.Range("B5").Value & " + " & 1 & ""
    Set rec = db.OpenRecordset(sql, DAO.dbOpenSnapshot)
    merci

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Objet parameter
    Bonjour,

    Il faut utiliser l'objet Parameter c 'est plus puissant .

    Exemple ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     Function SqlAnalytiqueUg() As String
    Dim Chaine As String
        Chaine = ""
        Chaine = Chaine & "PARAMETERS VarUg Short, VarAn Short, VarMois Short;"
        Chaine = Chaine & "SELECT DISTINCTROW "
        Chaine = Chaine & "TITRE.IdTitre, "
        Chaine = Chaine & "TITRE.Lib AS LibTitre, "
        Chaine = Chaine & "ENV.IdEnv, ENV.Lib AS LibEnv, "
        Chaine = Chaine & "UR.IdUr, UR.Lib AS LibUr, "
        Chaine = Chaine & "Sum(DEPENSE.Montant) AS TotalMontant, "
        Chaine = Chaine & "Sum(DEPENSE.MontantPrec) AS TotalMontantPrec, "
        Chaine = Chaine & "Sum(CREDIT.Montant) AS TotalCredit "
        Chaine = Chaine & "FROM "
        Chaine = Chaine & "(TITRE INNER JOIN ENV ON TITRE.IdTitre = ENV.IdTitre) INNER JOIN (POLE INNER JOIN ((UG INNER JOIN ((UR INNER JOIN COMPTE ON UR.IdUr = COMPTE.IdUr) INNER JOIN CREDIT ON COMPTE.IdCpte = CREDIT.IdCpte) ON UG.IdUg = CREDIT.IdUg) INNER JOIN DEPENSE ON (UG.IdUg = DEPENSE.IdUg) AND (COMPTE.IdCpte = DEPENSE.IdCpte)) ON POLE.IdPole = UG.IdPole) ON ENV.IdEnv = UR.IdEnv "
        Chaine = Chaine & "WHERE "
        Chaine = Chaine & "UG.IdUg = [VarUg] "
        Chaine = Chaine & "And DEPENSE.An = [VarAn] "
        Chaine = Chaine & "And DEPENSE.Mois = [VarMois] "
        Chaine = Chaine & "GROUP BY "
        Chaine = Chaine & "TITRE.IdTitre, TITRE.Lib, ENV.IdEnv, ENV.Lib, UR.IdUr, UR.Lib;"
        SqlAnalytiqueUg = Chaine
     
    End Function
     
    Private Function RequeteMdb()
    Dim AppMdb As New DAO.DBEngine
    Dim MdbData As Database
    Dim sDir As String, sChaineSql As String
    Dim Qry As QueryDef
        sDir = ThisWorkbook.Path
        ' Requete Analytique Par Ug
        MdbData.CreateQueryDef "QryAnalytiqueUg", SqlAnalytiqueUg()
        MdbData.Close
     
    End Function
     
    Private Function ExecuteRequeteMdb()
     
    Dim MdbData As Database, QryAnalyse As QueryDef, RsAnalyse As Recordset
     
        Set MdbData = AppMdb.OpenDatabase(sDir & "\data.mdb")
            Set QryAnalyse = MdbData.QueryDefs("QryAnalytiqueUg")
            QryAnalyse.Parameters("VarUg") = sUg ' ----> Cells(1,2) par exemple
            QryAnalyse.Parameters("VarAn") = CmbAn.Text
            iMois = CmbMois.ListIndex + 1
            QryAnalyse.Parameters("VarMois") = iMois
     
            Set RsAnalyse = QryAnalyse.OpenRecordset
     
     
    End function
    La requete est enregistrée et compilée dans la base c'est donc plus rapide.

    Il faut le code en fonction de la requete

    Bon courage

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

Discussions similaires

  1. Requete SQL avec variable php
    Par Darkyl dans le forum Langage
    Réponses: 8
    Dernier message: 24/06/2011, 21h06
  2. [AC-2007] Requete SQL avec variables
    Par Greg47 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 26/05/2010, 19h07
  3. Requete SQl avec variable d'un combobox
    Par nonopower dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 15/03/2010, 17h08
  4. requete sql avec variable
    Par stefon dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 02/08/2006, 16h29
  5. requete sql avec variable
    Par Mihalis dans le forum Bases de données
    Réponses: 15
    Dernier message: 07/04/2006, 10h17

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