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

Requêtes et SQL. Discussion :

Enchainement de requetes SQL


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 126
    Points : 54
    Points
    54
    Par défaut Enchainement de requetes SQL
    Bonjour,

    J'ai une question de synthaxe.
    Ci dessous mon code SQL.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        stringSQL = "SELECT
                 "FROM
                 "WHERE 
                 " AND
                 " AND
                 " AND
                 " AND
    Je voudrais optimiser la requete en posant des conditions.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        stringSQL = "SELECT
                 "FROM         
                 "WHERE (Prix.datePrix = '" & dateprix & "')" & _
     if cells(i,4).value <> "" then
    String SQL = StringSQL AND vente.client = ' " & nomclient & "')"
    Quel est la synthaxe du passage en gras en VBA?

    Merci d'avance!
    Vincent

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 154
    Points : 148
    Points
    148
    Par défaut
    Bonsoir...

    Curieuse syntaxe SQL !

    Mais d'après ce que je comprends, voici ce que ça donnerait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    stringSQL = "SELECT
                 "FROM         
                 "WHERE (Prix.datePrix = '" & dateprix & "')" 
     
    if cells(i,4).value <> "" then
    StringSQL = StringSQL &" AND vente.client = ' " & nomclient & "')"
    EndIf
    Mais étant donné que tu es en Access, je ne vois pas comment tu évalues
    le cells(i,4) qui me semble etre plutot du Excel ???????????????
    De plus, d'ou sort la variable i ?

    A mon avis, tu devrais donner le texte complet de ta chaine SQL.....

    Bon courage.
    Didier71

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 126
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par Didier71 Voir le message
    Bonsoir...

    Curieuse syntaxe SQL !

    Mais d'après ce que je comprends, voici ce que ça donnerait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    stringSQL = "SELECT
                 "FROM         
                 "WHERE (Prix.datePrix = '" & dateprix & "')" 
     
    if cells(i,4).value <> "" then
    StringSQL = StringSQL &" AND vente.client = ' " & nomclient & "')"
    EndIf
    Mais étant donné que tu es en Access, je ne vois pas comment tu évalues
    le cells(i,4) qui me semble etre plutot du Excel ???????????????
    De plus, d'ou sort la variable i ?

    A mon avis, tu devrais donner le texte complet de ta chaine SQL.....

    Bon courage.
    Didier71
    Merci Didier!
    Oui en effet je suis sous excel.
    Pourquoi juge tu la syntaxe curieuse?
    à cause du "if"?

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 154
    Points : 148
    Points
    148
    Par défaut
    Bonjour


    Non, ce n'est pas à cause du if...
    Mais des clauses SQL incomplètes, tu as du abréger, j'imagine...

    As tu réussi à t'en sortir ?

    Didier71

  5. #5
    Membre expérimenté Avatar de Gabout
    Homme Profil pro
    Utilisateur autodidacte
    Inscrit en
    Mai 2006
    Messages
    1 406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Utilisateur autodidacte

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 406
    Points : 1 683
    Points
    1 683
    Par défaut
    Bonjour,

    Comme le dit Loki83
    Mais étant donné que tu es en Access, je ne vois pas comment tu évalues
    le cells(i,4) qui me semble etre plutot du Excel ???????????????
    Tu dois t'être trompé de forum. Peux-tu le confirmer et je ferai le déplacement ?

  6. #6
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut à tous,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        stringSQL = "SELECT
                 "FROM         
                 "WHERE (Prix.datePrix = '" & dateprix & "')" & _
     if cells(i,4).value <> "" then
    String SQL = StringSQL AND vente.client = ' " & nomclient & "')"
    oulà...

    ca doit plutot être un truc comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    monSQL="SELECT leChamp FROM laTable WHERE (Prix.datePrix = '" & dateprix & "') "     'en supposant que la date est au format texte... sinon il faut entourer la date de '#'
     
    critere=""
    for i="début" to "fin"
       if cells(i,4).value<>"" then
          if critere<>"" then critere=critere & " AND "
          critere=critere & "(vente.client='" & nomclient & "')"   'attention nomclient doit faire référence je suppose à une cellule genre cells(i,5)
       end if
    next i
    monSQL=monSQL & critere

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 126
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par Gabout Voir le message
    Bonjour,

    Comme le dit Loki83

    Tu dois t'être trompé de forum. Peux-tu le confirmer et je ferai le déplacement ?
    Oui je suis dans Excel mais je fais du SQL via VBA...
    A la limite oui le sujet serait mieux dans Excel que Access...

    @Didier :
    Oui je m'en suis sorti merci!
    Désolé de pas avoir fait un retour plus tot

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

Discussions similaires

  1. requete SQL enchainant des "WHERE" / "AND"
    Par Loki83 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/10/2008, 15h26
  2. Problème Requete SQL et QuickReport
    Par arnaud_verlaine dans le forum C++Builder
    Réponses: 7
    Dernier message: 07/01/2004, 10h31
  3. requete sql
    Par autumn319 dans le forum ASP
    Réponses: 22
    Dernier message: 10/09/2003, 17h46
  4. Paramètre requete SQL (ADOQuery)
    Par GaL dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/07/2002, 12h24
  5. Resultat requete SQL
    Par PierDIDI dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/07/2002, 14h43

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