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 élimination de donnée par plusieur requête


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 177
    Points : 74
    Points
    74
    Par défaut problème élimination de donnée par plusieur requête
    Voilà mon souci!mon titre n'est peut etre pas assez explicite mais mon stage me demande que avec 8 requêtes différentes avec refus ou non de certaines données j'élimine au fur et a mesure les données affichées en utilisant une par une les requêtes que l'on désir.

    exemple :

    un bouton qui enlève tout ceux qui ne payent pas
    un bouton qui enlève tout ceux qui achètent tel produit
    un bouton qui enlève celle n'ayant pas la date souhaitée
    un bouton qui enlève tout qui ne sont pas des Hommes
    etc...

    8 boutons comme cela.
    et on utilise ou non ces boutons et cela élimine les données affichées dans un tableau au fur et à mesure.

    mon sous directeur m'a parlé de maccro sous access (son moyen pour obtenir ce qu'il souhaite et que je ne sais pas utiliser) sauf que je dois utiliser Delphi lol!

    j'ai pensé faire une énorme requête qui applique plein plein de condition pour arriver à ce qu'il souhaite pour l'affichage!pour moi c'est la seule solution que j'ai trouvé.

    Si vous avez une idée faite la moi partager!merci!

  2. #2
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    Slt,

    ta base est une base Access ?[/i]

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 177
    Points : 74
    Points
    74
    Par défaut
    Non toujours la même base!une base .db Paradox en bref!c'est juste que mon sous directeur m'a parlé de maccro et qu'il le faisait de tel manière(j'ai jamais utiliser de macro) pour obtenir ce qu'il voulait. Il élimine des déonnées celon sa macro au fur et à mesure!sauf que sur delphi pour ma part c'est pas aussi simple je suis obligé de faire des conditions pour l'ajouter à la requête ou non?si une idée vous viens merci!kiss!

  4. #4
    Membre habitué Avatar de Guile
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 130
    Points : 144
    Points
    144
    Par défaut
    Chalut

    Je ne sais pas quels composants DB tu utilises mais tu peux utiliser l'evenement OnFilterRecord de ta table ou ton Query.

    Avec un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Accept := (MaTable.FieldByName('Sexe').asString = 'M') and
                   (MaTable.FieldByName(DateAchat').asDateTime < dt) and etc
    Il existe 10 sortes de personnes, ceux qui comprennent le binaire et les autres...

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 177
    Points : 74
    Points
    74
    Par défaut
    ca à l'air interessant ton truc!mais comment l'utiliser?apparement ca prends la table donc le From après l'une des propriété et qu'il accept s'il y a tel réponse mais comment l'intégrer dans une requête du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Query1.close;
    Query1.clear;
    Query1.add('Select NomClient,PrénomClient, "Etc..." ');
    Query1.add('From "les tables à utiliser" ');
    Query1.add(' WHERE "ceux qui ne payent pas " ');
    Query1.add(' AND "les conditions voulus" ');
    Query1.Open;
     
    Query1.First;
    merci encore de votre de l'aide fourni!

  6. #6
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Pas besoin de modifier le where de ta requete si tu passes par les filtres.

    dans le onclick ou onchange d'un des composants servant au filtre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    With Query do
    begin
      Filtered := False;
      Filter := 'NomClient = ' + quotedstr('toto') ' and Date = ' + quotedStr(FormatDateTime(MM/DD/YYYY',Now)) ;
      Filtered := True;
    end;
    L'exemple ci dessus permet d'afficher tout les clients qui s'appellent toto pour la date du jour. Après a toi de faire le filtre que tu souhaites.l
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  7. #7
    Membre habitué Avatar de Guile
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 130
    Points : 144
    Points
    144
    Par défaut
    En fait, ton query1 doit juste contenir la requete qui te renvoie tout tes enregistrements quand toutes tes conditions sont Ok :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Select NomClient,PrénomClient, Etc...  
    From "les tables à utiliser" 
    WHERE "tes jointures entre les tables"
    Ensuite, tu n'as plus à modifier cette requette, c'est DELPHI qui se charge de filtrer tes enregistrements

    Tu dois juste renseigner la valeur de Accept en fonction des valeurs des champs de l'enregistrement.

    Exemple dans l'evenement onFilterRecord, on imagine que tu as une checkbox "Ceux qui ne paient pas" :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if chkQuiNePaientPas.Checked then
    begin
       if Query1.FieldByName('ClientQuiPaie').AsBoolean then 
         Accept := false;  
    end;
    J'espère que c'est plus clair
    Il existe 10 sortes de personnes, ceux qui comprennent le binaire et les autres...

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 177
    Points : 74
    Points
    74
    Par défaut
    merci tout les deux!ca m'aide trop mais vous pouvez pas savoir!comment j'ai flipper quand j'ai vu que je devais faire un filtre avec 8 étapes et dans chacune d'elle une tonne de condition.merki!

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 177
    Points : 74
    Points
    74
    Par défaut
    ca marche merci !!!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/03/2015, 16h17
  2. Problème Base de Donnée sur plusieurs Activités
    Par Mouke dans le forum Android
    Réponses: 2
    Dernier message: 06/04/2014, 02h04
  3. Réponses: 2
    Dernier message: 25/07/2007, 11h24
  4. [CR11] Données de plusieurs requêtes
    Par KrusK dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 07/07/2005, 11h02
  5. Réponses: 9
    Dernier message: 17/04/2004, 16h32

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