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 :

chercher sur une table par deux champs


Sujet :

Bases de données Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Points : 6
    Points
    6
    Par défaut chercher sur une table par deux champs
    bonjour
    je suis entrain de faire un programme de simulation et dans l'algorithme il faut que j fais un tirrage au hasarde de la demande et le delait
    donc j crée table sirtie quia comme champs la date de sortie et code produit et bien d'autre
    mon probleme est que j'arrive pas a faire une recherche sur la table sortie pour qui'elle m'affiche le nbr de fois de l'apparition d'un produit choisie par moi entre deux date presiser par moi
    et merci d'avence

  2. #2
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    salut nanine85 ,

    si j'ai bien compris, tu veux faire une recherche sur 2 champs.si c'est ça que tu cherches, un filtre sur ces 2 champs fera l'affaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    Table1.Filtered:=false;
    Table1.Filter:='code_produit = '''+(Edit1.Text)+'''' + 'and date_de_sortie= '''+((Edit2.Text))+'''' ;
    Table1.Filtered:=true;
    end;
    a+

    NABIL74

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    merci nabile
    mais j'ai deux date et j cherche combien de fois le produit est sortie dans cette intervale de temps
    et en plus les deux dates que j les fixe ne sont pas forcement dans la table

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 935
    Points
    40 935
    Billets dans le blog
    62
    Par défaut
    une recherche sur la table sortie pour qui'elle m'affiche le nbr de fois de l'apparition d'un produit choisie par moi entre deux date
    L'utilisation de SQL et donc d'un TQuery règle tres facilement la question

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT COUNT(*) FROM LATABLE WHERE CODE_PRODUIT=:P AND DATE BETWEEN :DD AND :DF

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    With Query1 do 
      begin
         ParamBYName('P').asString:=EditProduit.Text ; // edit produit etant le produit  à rechercher
         ParamBYName('DD').asDateTime:=DateTimePicker1.Date;
         ParamBYName('DF').asDateTime:=DateTimePicker2.Date;
         Open;
         Label1.Caption:=Fields[0].asString;  // ou tout autre manipulation du résultat  
      end;
    ATTENTION toutefois au type de date utilisé dans la table si la valeur est stockée sous le format datetime pour le parametre DF il faudra faire
    ParamBYName('DF').asDateTime:=DateTimePicker2.Date+1; // ceci s'il n'y a pas d'enregistrement à minuit
    , sinon il faudra aussi jouer sur l'heure
    ParamBYName('DF').asDateTime:=DateTimePicker2.Date+1-0.000001;
    // à vérifier pour le -0.000001
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Futur Membre du Club
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Merci "SergioMaster"
    je'ai essayer se que tu ma donner
    mais pour afficher les resultats dans un dbgrid j rien trouver s resultat

Discussions similaires

  1. remplir une DropDownList par deux champs de BDD
    Par ahmedige dans le forum VB.NET
    Réponses: 15
    Dernier message: 10/05/2011, 16h57
  2. filtrer une table par 2 champs
    Par souha2008 dans le forum Bases de données
    Réponses: 4
    Dernier message: 17/05/2009, 11h03
  3. Réponses: 5
    Dernier message: 03/09/2008, 15h19
  4. Etat basé sur une table avec 2 champs multivalués
    Par amphytria dans le forum Modélisation
    Réponses: 20
    Dernier message: 08/09/2007, 15h26
  5. Réponses: 2
    Dernier message: 30/01/2007, 11h11

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