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 :

Filtrer une table suivant la différence entre les valeurs de champs


Sujet :

Bases de données Delphi

  1. #1
    Membre habitué

    Inscrit en
    Août 2005
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 253
    Points : 197
    Points
    197
    Par défaut Filtrer une table suivant la différence entre les valeurs de champs
    Filtrer une table suivant la différence entre les valeurs de champs
    Exemple :
    Champs : TotalReçu & TotalLivré

    La Filtre (ou requête SQL) Affichera les enregistrements ou

    TotalReçu <> TotalLivré

    Comment on procède ?
    Merci

  2. #2
    Membre habitué

    Inscrit en
    Août 2005
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 253
    Points : 197
    Points
    197
    Par défaut
    var b,i : integer;
    s : string ;
    begin
    s := '';
    i := 0 ;

    ADOTable1.First;

    for b := 1 to (adotable1.RecordCount ) do
    begin
    if adotable1NbrPieceexport.AsString <> '' then // on ne teste les enregistrements Vide
    begin
    if ADOTable1total.AsInteger <> adotable1NbrPieceexport.AsInteger then
    begin
    i := i + 1; //
    if i = 1 then
    s := 'modele = ' +quotedstr(adotable1modele.AsString)+' ';// si on a un seul model on ajoute pas de "or"

    if i <> 1 then //si plusieurs enregistrement
    s := s + ' or modele = '+ quotedstr(adotable1modele.AsString) + ' ';
    end;
    end;
    ADOTable1.Next; // et on avance d'un enregiqtrement
    end;

    //showmessage(s) ;
    ADOTable1.Filtered := False;
    ADOTable1.Filter := s ;
    ADOTable1.Filtered := true ;

    end;

    Cette solution semble pre-historique je pense que ça causera un problème si on a des milliers d'enregistrement

  3. #3
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut

    une question: pourquoi ne pas utiliser directement le composant TADOQuery ?
    sinon si tu filtre la table avec l'expression
    Citation Envoyé par helmis
    TotalReçu <> TotalLivré
    ca ne marche pas ?

  4. #4
    Membre habitué

    Inscrit en
    Août 2005
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 253
    Points : 197
    Points
    197
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     TotalReçu <> TotalLivré
    Ne marche comme requete de filtre ca declanche une exeption

    est avec la query on donne quoi comme requete (le probleme est different).

  5. #5
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    Citation Envoyé par helmis
    Ne marche comme requete de filtre ca declanche une exeption
    quelle exception ? soit plus précis.
    Citation Envoyé par helmis
    est avec la query on donne quoi comme requete (le probleme est different).
    tu donnes la requête devant retourner les enregistrements dont tu as besoin
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('select * from MaTable where TotalRecu <> TotalLivré');
    ADOQuery1.Open;

  6. #6
    Membre habitué

    Inscrit en
    Août 2005
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 253
    Points : 197
    Points
    197
    Par défaut
    Ben je m'exuse le probleme venait de mon moteur de base de donné
    sur d'autre poste ca marche normalement
    Merci

Discussions similaires

  1. [WD17] calculer la différence entre les lignes d'une table
    Par cigalou84 dans le forum WinDev
    Réponses: 4
    Dernier message: 23/12/2013, 15h28
  2. Réponses: 2
    Dernier message: 27/07/2011, 12h16
  3. Réponses: 3
    Dernier message: 16/12/2010, 09h03
  4. like ne fait pas différence entre les valeurs ?
    Par karimphp dans le forum Langage SQL
    Réponses: 3
    Dernier message: 26/06/2007, 17h27
  5. 2 tables; requête : retourner différences entre les 2
    Par azerty dans le forum Langage SQL
    Réponses: 15
    Dernier message: 09/09/2003, 18h35

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