Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5120 connectés 

 


Dernière réponse
Sujet : requete sous delphi
bono qryNbArticle
 
je le declare comme quoi ???

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
bono qryNbArticle
 
je le declare comme quoi ???
Miles V Alors utilise le count(1).
bono entre count et sum ???,
moi je veux par ex
le produit x a été sorti x fois entre le 26/02/2001 et le 29/02/2001.
vous voyez ????
Miles V Nan, c'est ça :
 
select  
  count(1) nb  
from  
  ENDT
where  
  reference = :ref and  
  date_entree >= :datedebut and  
  date_entree <= :datefin
 
-> dans nb, tu as le nombre de ligne.
 
Si tu veux la somme des entrées/sorties, tu fais
select  
  sum(Quantite_Entree) nb  
from  
  ENDT
where  
  reference = :ref and  
  date_entree >= :datedebut and  
  date_entree <= :datefin
bono cela donne cela ???
 
Ma table s'appelle ENDT, mes champs s'appellent No_Entree, reference_Produit, Date_Entree, Quantite_Entree.
Donc cela donne
 
qryNbArticle : TQuery  
select  
count(1) nb  
from  
Quantite_Entree
where  
Quantite_Entree.reference = :ref and  
Quantite_Entree.date_entree >= datedebut and  
Quantite_Entree.date_entree <= datefin  
 
C'est bon, mais j'indique où le nom de la table ???
Miles V Fais toujour chier ces smiley !
Miles V Houlà, on dirai que tu maitrises pas tout à fait le sql.
 
Ta requête, ça doit être qqchose du genre (pour faire la
somme des qtes, tu remplaces sum(entree_produit.qte) par
count(1) pour avoir le nombre de lignes...)
 
select
 sum(entree_produit.qte) nb
from
 entree_produit
where
 entree_produit.reference = :ref and
 entree_produit.date_entree >= :datedebut and
 entree_produit.date_entree <= :datefin
 
A toi de remplacer le nom de la table et des champs par
ce que tu as dans ta base.
 
Le : permet d'indiquer un paramètre. Delphi remplace le
paramètre par la valeur indiquée en faisant ParamByName('MACHIN')
avant d'ouvrir la requête.
bono Donc, cela me fait, si j'ai bien saisi,
demande de la référence
demande date début
demande date fin
 
cela ne m'affichera que le nombre total dans un showmessage d'articles sortis ou entrés pendant la période ou bien toutes les lignes correspondant à la référence ??
 
 
 
la requete doit donc ressembler à cela
 
select Ref, DateDebut et DateFin  
 
Comment faire pour qu'il aditionne tous les chiffres, je sais que cela se fait par un count, mais comment l'appliquer ???
Miles V Les smiley, c'était pas voulu...
Miles V Ton code devrait resembler à ça :
 
procedure TForm1.Button1Click(Sender: TObject);
var
  sReference, sDateDebut, sDateFin : string;
begin
  sReference:= InputBox('Saisie', 'Référence ?', '');
  sDateDebut:= InputBox('Saisie', 'Date Début ?', '');
  sDateFin:= InputBox('Saisie', 'Date Fin ?', '');
 
  qryNbArticle.ParamByName('Ref').AsString := sReference;
  qryNbArticle.ParamByName('DateDebut').AsString := sReference;
  qryNbArticle.ParamByName('DateFin').AsString := sReference;
 
  qryNbArticle.Open;
 
  if qryNbArticle.FindFirst then
    ShowMessage(qryNbArticle.FieldByName('Nb').AsString);
end;
 
qryNbArticle : TQuery -> la requête avec comme paramètre
Ref, DateDebut et DateFin et comme nom de champ Nb pour le nb
d'articles.
bono Pourriez vous me donner un exemple s'il vous plait, la doc st un peu confuse
Miles V Utilise la fonction InputBox (regarde dans l'aide).
Elle ouvre une boîte de dialogue et retourne la chaîne saisie.

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)