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

Bases de données Delphi Discussion :

problème de requête query


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 160
    Points : 61
    Points
    61
    Par défaut problème de requête query
    Bonjour à tous

    j'ai un dbgrid qui affiche tous des clients avec des carastéristiques propres.
    Dans ces colonnes, il peut y avoir 15 fois le même nom de client.
    Je suis en train de créer un événement dans l'edit de ma fiche me permettant dès la pression d'une lettre, d'afficher seulement les clients dont la lettre commence par e,f, et du plus précis jusqu'au nom définitif.


    ma requête est la suivante : je la compile sans problème mais mon edit dès que je presse une lettre plante en m'indiquant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    query1.Close;
    query1.SQL.Clear;
    query1.SQL.Add('SELECT DISTINCT CLIENTS.CLINOM1 as CLIENT, MVTS.MVTDATECH as ECHEANCE, MVTS.MVTCLETTR as LETTRE, MVTS.MVTMDEV as MONTANT,MVTS.MVTLIB as LIBELLE ');
    query1.SQL.Add('FROM CLIENTS INNER JOIN MVTS ON CLIENTS.CLICODE = MVTS.MVTCOMPTE  ');
    query1.SQL.Add('WHERE (((MVTS.MVTCLETTR)<>-1)),   UPPER(CLIENT)   LIKE "'+UpperCase(Edit1.Text)   +'%" ');
    query1.SQL.Add('WHERE CLIENTS.CLINOM1  LIKE "'+UpperCase(Edit1.Text) +'%"');
    c'est un problème d'opérateur absent !

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 93
    Points : 35
    Points
    35
    Par défaut
    Salut,
    je ne sais pas pourquoi ca plante mais il est pas normal que tu es 20 fois le meme nom dans une table, y'a un problème de conception, revoir la structure de tes tables, par contre j'ai pas la réponse à ta question

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 160
    Points : 61
    Points
    61
    Par défaut ok
    disons que c'est normal pour mon cas d'avoir 20 fois le même client car il affiche toutes ses factures effectuées par mois et un client peut enregister plusieurs factures par mois.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 93
    Points : 35
    Points
    35
    Par défaut
    t'aurais pu avoir d'un coté une table client et de l'autre coté une table facture, client unique, facture unique, ce qui me gene c'est ce distinct

    Mais bon je ne connais pas tous les aboutissants aussi

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 160
    Points : 61
    Points
    61
    Par défaut oui
    oui tu as raisonn, cela aurait pu être mieux optimisé mais bon, j'ai hérité de tables de ce type et je dois m'en accomoder

    l'idéal aurait été une relation mâitre détail mais bon je sais toujours pas pourquoi cela plante.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 119
    Points : 125
    Points
    125
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    query1.Close; 
    query1.SQL.Clear; 
    query1.SQL.Add('SELECT DISTINCT CLIENTS.CLINOM1 as CLIENT, MVTS.MVTDATECH as ECHEANCE, MVTS.MVTCLETTR as LETTRE, MVTS.MVTMDEV as MONTANT,MVTS.MVTLIB as LIBELLE '); 
    query1.SQL.Add('FROM CLIENTS INNER JOIN MVTS ON CLIENTS.CLICODE = MVTS.MVTCOMPTE  '); 
    query1.SQL.Add('WHERE (((MVTS.MVTCLETTR)<>-1)) ,UPPER(CLIENT)   LIKE "'+UpperCase(Edit1.Text)   +'%" '); 
    query1.SQL.Add('WHERE CLIENTS.CLINOM1  LIKE "'+UpperCase(Edit1.Text) +'%"');
    Il ne te manquerait pas un and à la place de la virguke avant le Upper(Cient)

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 192
    Points : 113
    Points
    113
    Par défaut
    oui, et il y a deux WHERE...

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 160
    Points : 61
    Points
    61
    Par défaut ok
    oui j'ai posté un code avec deux where

    j'ai trouvé la solution pas de problème

Discussions similaires

  1. [Query] Problème de requête
    Par cosmos38240 dans le forum Développement
    Réponses: 6
    Dernier message: 01/06/2012, 22h05
  2. problème de requête avec jointures
    Par tinhat dans le forum Requêtes
    Réponses: 7
    Dernier message: 11/08/2003, 10h33
  3. Problème de requètes concurentes
    Par Emmanuel.G dans le forum XMLRAD
    Réponses: 3
    Dernier message: 08/08/2003, 16h51
  4. Réponses: 2
    Dernier message: 16/07/2003, 14h40
  5. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02

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