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 :

[Excel/VBA] Requete SQL avec clause sur une suite de Cellule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 328
    Par défaut [Excel/VBA] Requete SQL avec clause sur une suite de Cellule
    Bonjour,

    Je voudrais incorporer dans le where de ma requéte SQL une clause que dirais
    Articles.Codeart <> des nombre dans les cellules A80:A110 de ma feuille Statistique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ApproSQL10 = "SELECT TOP 10 Articles.Codeart, Articles.Désignation, Articles.Localisation, [QteThéorique]*[Prixachat] AS Montant, [Qtéstock]+[Qtéréser] AS QteThéorique FROM Articles WHERE ( AND (Articles.Codeart>=100000000) AND (([Qtéstock]+[Qtéréser])<>0) AND (Articles.Dateachat>=#" & DateDeb & "#) AND (Articles.Dateachat<=#" & DateFin & "#)) ORDER BY 4 DESC"
    A tout hazard peut étre que ça pourrez vous aider
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Statistique").Range("A80:A110")
    Un grand Merci à tous

  2. #2
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Hello,

    en sql, ça se traduit par ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    dim strIn as String
    for each c in Range("A80:A110").Cells
      strIn = strIn & ", " & c.value
    next c
    SQL = "SELECT ...." & _
          "FROM ...... " & _
          "WHERE .... CodeArt Not In(" & mid(strIn, 2) & ") ....."

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 328
    Par défaut
    Je traduis ça en VBA comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim strIn As String
            For Each c In Sheets("Statistique").Range("A80:A110").Cells
                strIn = strIn & ", " & c.Value
                Next c
            ApproSQL10 = "SELECT TOP 10 Articles.Codeart, Articles.Désignation, Articles.Localisation, [QteThéorique]*[Prixachat] AS Montant, [Qtéstock]+[Qtéréser] AS QteThéorique" & _
                    "FROM Articles " & _
                    "WHERE ((Articles.Dateachat>=#" & DateDeb & "#) AND (Articles.Dateachat<=#" & DateFin & "#) AND (Articles.Codeart>=100000000) AND (([Qtéstock]+[Qtéréser])<>0) AND (Articles.Codeart Not In(" & Mid(strIn, 2) & "))) ORDER BY 4 DESC"
    J'ai une erreur ici (un mot interdit ou argument mal ortho...)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ApproData.Open ApproSQL10, ApproConnect, adLockReadOnly, adLockReadOnly, adCmdText
    Dans strIn j'ai ça ",145789658,54789854,457854785,...."

    Une idée ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Déjà strIn est du texte, il faut donc mettre des ' avant et après dans ta requête (avant "" et après "").

    Starec

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 328
    Par défaut
    Avant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Articles.Codeart Not In(" & Mid(strIn, 2) & ")
    Aprés
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Articles.Codeart Not In('" & Mid(strIn, 2) & "')
    Marche toujours pas...
    Merci quand même

  6. #6
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    2 choses à faire ...

    • quel est le type de données de CodeArt ?
    • debug.print ApproSQL10

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

Discussions similaires

  1. Pb de requete SQL avec clauses WHERE dans une procédure stockée
    Par CocoLeNain dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 11/06/2010, 23h48
  2. [SQL - Oracle 9i] Requete Sql avec filtre sur critere
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 3
    Dernier message: 05/12/2007, 08h45
  3. [VBA]Requete SQL avec parametre numérique
    Par Pitou5464 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 06/09/2006, 10h33
  4. requete sql avec between sur des champs de type Date
    Par ersoufiane dans le forum Langage SQL
    Réponses: 2
    Dernier message: 02/08/2006, 19h43
  5. [Access] requete sql avec condition sur date
    Par qeja dans le forum Langage SQL
    Réponses: 4
    Dernier message: 25/03/2006, 23h54

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