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 :

Variable dans 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
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 29
    Par défaut Variable dans requete sql
    bonjour

    comment utiliser une variable dans une requête sql

    voila j'ai ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE  ((F_ARTICLE.AR_Sommeil) <> 1) And ((F_ARTFOURNISS.AF_Principal) = 1) and   F_DEPOT.DE_Adresse = 'TOTO'
    Je souhaite filtrer par choix dans une variable exemple" toto ou tata ou tonton etc..." ou tous

    je n'arrive pas a modifier cette parti
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    F_DEPOT.DE_Adresse = 'TOTO'
    merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Regardes ça et on en reparle après.

    https://www.developpez.net/forums/d1...a/#post9283354

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 29
    Par défaut
    bonjour et merci
    bon pour le moment je comprend que le fait de mettre
    permet d'ouvrir une fenêtre avec le choix a écrire sauf que moi je récupère cette variable depuis un combobox d'un userform

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TxtVar2 = Sheets("Hoja1").Range("m1")
    ensuite si j’écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    F_DEPOT.DE_Adresse = '"  TxtVar2  "'
    j'ai une erreur

  4. #4
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set prm(0) = Cn.Param("ID", adInteger, adParamInputOutput, 4, "500")
    Oui mais ici tu donne le nom et le type de champ et la valeur c'est ta combbox.

    Mais déjà comment tu fais ta connexion à ta base de données ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 29
    Par défaut
    voici mon code
    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
    Dim rs As Object
        Dim sql As String
        Dim Conn As ADODB.Connection
        Set Conn = New ADODB.Connection
        Conn.ConnectionString = "DSN=" & "serveur" & ";Trusted_Connection=Yes"
        Conn.Open
        Set rs = New ADODB.Recordset
    sql = " SELECT distinct " & _
    " F_ARTSTOCK.AR_Ref, " & _
    "F_ARTICLE.AR_Design, " & _
    "F_ARTFOURNISS.AF_RefFourniss, " & _
    "F_COMPTET.CT_Intitule ," & _
    "F_DEPOT.DE_Adresse, " & _
    "F_DEPOTEMPL.DP_Code AS Gisement " & _
    " FROM F_COMPTET INNER JOIN (F_ARTFOURNISS INNER JOIN (F_DEPOT INNER JOIN " & _
    "((F_ARTSTOCK INNER JOIN F_ARTICLE ON F_ARTSTOCK.AR_Ref = F_ARTICLE.AR_Ref) " & _
    "INNER JOIN F_DEPOTEMPL ON F_ARTSTOCK.DP_NoPrincipal = F_DEPOTEMPL.DP_No) ON F_DEPOT.DE_No = F_ARTSTOCK.DE_No)" & _
    "ON F_ARTFOURNISS.AR_Ref = F_ARTSTOCK.AR_Ref) ON F_COMPTET.CT_Num = F_ARTFOURNISS.CT_Num " & _
    "WHERE  ((F_ARTICLE.AR_Sommeil) <> 1) And ((F_ARTFOURNISS.AF_Principal) = 1) and   F_DEPOT.DE_Adresse = 'toto'  "
    sql = sql & strSearchSql & " ;"
    Debug.Print sql
     
        rs.Open sql, Conn, 1, 2, 1
     
     
        ws.Range("a2").CopyFromRecordset rs
     
        rs.Close
        Conn.Close
    et c'est ici que je souhaite filtrer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     F_DEPOT.DE_Adresse = 'toto'

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Je ne comprends pas bien que l'on puisse te répondre sans savoir sur quoi tu te connectes et comment tu t'y connectes.

    Donne le code que tu utilises pour créer ta connexion et ta chaîne sql, et on pourra mieux t'aider. Sinon, dans 50 messages, on en sera au même point...

    Il existe des classes génériques pour la connexion aux données qui évitent de réinventer la poudre à chaque fois...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Invité
    Invité(e)
    Par défaut
    C'est pas comme ça que je ferai personnellement mais ça marche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim MyCombBox as string 
    MyCombBox="toto"
    " F_DEPOT.DE_Adresse = '" & replace(MyCombBox,"'","''") & "'

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 29
    Par défaut
    bonjour
    bon je ne peux pas tester ici donc je regarde demain
    par contre si je ne veux pas filtrer cad avoir toute les occurrences je peux faire comment

    merci deja

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 29
    Par défaut
    j'ai essayer ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    If TxtVar2 = "*" Then
    TxtVar3 = " "
    Else
    MyCombBox = "toto"
    TxtVar3 = " (F_DEPOT.DE_Adresse = '" & Replace(MyCombBox, "'", "''") & "' ) "
    End If
    la premiere parti fonctionne mais pas la 2eme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "WHERE (BASE.CPRO='" & TxtVar & "') and  '" & TxtVar3 & "' "

  10. #10
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Le And sépare les termes ne les concatène pas
    "WHERE (BASE.CPRO='" & TxtVar & "') and (BASE.CPRO='" & TxtVar3 & "')"

Discussions similaires

  1. [MySQL] Syntaxe insertion variable dans requete SQL
    Par przvl dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 11/06/2015, 15h34
  2. variable dans requete SQL pour delphi
    Par socooooool dans le forum Bases de données
    Réponses: 9
    Dernier message: 25/01/2013, 11h27
  3. variable dans requete sql
    Par xian21 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 09/01/2009, 12h14
  4. [Debutant] Variables dans requete SQL
    Par Freygolow dans le forum C#
    Réponses: 11
    Dernier message: 21/05/2008, 09h14
  5. afficher variable de requete sql dans datareport
    Par liquid dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 23/03/2007, 11h01

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