1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
var
i,j,k,l,m,n:integer;
begin
//Initialise un entier
m:=0;
for n:=1 to StringGrid1.RowCount-1 do
begin
if (stringgrid1.cells[0,n]=AnsiUpperCase(combobox1.text)) then
showmessage('Vous avez Déjà inséré Cette Clé Pub')
else
begin
if (combobox1.text='Sélection des Clés de Publication') then//Condition Si on a pas sélectionné dans la ComboxBox1
Showmessage('Veuillez Sélectionnez une Clé de Publication')//Afficher Avertissement
else
begin
//Recherche de la Clé Pub, de la Description, du Nombre Expédié
Query2.Close;
Query2.sql.clear;
Query2.sql.Add('SELECT ma.MCode,ma.MTirage,ma.MCost,m.MDname,ma.MDescr,p.Pname,i.Codeinteret');
Query2.sql.Add('FROM markets ma,media m, interet i,marketitems mi,products p');
Query2.SQL.Add('WHERE (p.pcode=mi.ipcode)');
Query2.SQL.Add('and (p.pinteret=i.codeinteret)');
Query2.SQL.Add('and (ma.mcode=mi.imcode)');
Query2.SQL.Add('and (m.mdcode=ma.mmedia)');
Query2.SQL.Add('and (ma.mcode=:x)');
Query2.Params[0].AsString:=AnsiUpperCase(combobox1.text);
Query2.Open;
//Recherche de Nombre de Retour
Query3.Close;
Query3.sql.clear;
Query3.sql.Add('SELECT COUNT(sccode) AS NombreDeRetour');
Query3.SQL.Add('FROM sales');
Query3.SQL.Add('WHERE (smcode=:x)');
Query3.Params[0].AsString:=AnsiUpperCase(combobox1.text);
Query3.Open;
while not Query3.Eof do
begin
m:=m+strtoint(Query3.Fields[0].AsString);
Query3.Next;
end;
//Affichage dans le StringGrid des Données
stringgrid1.cells[0,integ[1]]:=Query2.Fields[0].AsString;//Afficher La Clé Pub
stringgrid1.cells[1,integ[1]]:=Query2.Fields[1].AsString;//Afficher Le Nombre Expédié
stringgrid1.cells[2,integ[1]]:=Query2.Fields[2].AsString;//Afficher Le Coût
stringgrid1.cells[3,integ[1]]:=Query2.Fields[3].AsString;//Afficher Type
stringgrid1.cells[4,integ[1]]:=Query2.Fields[4].AsString;//Afficher Description
stringgrid1.cells[5,integ[1]]:=Query2.Fields[5].AsString;//Afficher Produit Vendu
stringgrid1.cells[6,integ[1]]:=Query2.Fields[6].AsString;//Afficher Interêt
stringgrid1.cells[7,integ[1]]:=inttostr(m);
if (Query2.Fields[1].AsInteger=0) then
showmessage('Veuillez le nombre d''expédié est égal à ZERO')
else
stringgrid1.cells[8,integ[1]]:=floattostr((strtofloat(stringgrid1.cells[7,integ[1]])/(Query2.Fields[1].AsFloat))*100);
//Adapter le Nom de ligne au nombre de Clé Pub
StringGrid1.Rowcount :=integ[1]+1;
//Rajout d'entier
integ[1]:=integ[1]+1;
//Adapte les textes aux celulles
for j:=0 to 8 do
begin
k:=0;
for i:=0 to StringGrid1.Rowcount-1 do
begin
l:=Canvas.TextWidth(StringGrid1.Cells[j,i]);//reprends la taille en pixel de la cellulle
if l>k then
begin
k:=l;
StringGrid1.ColWidths[j]:=k+4;//je met +4 pour pas que les celulles soient trop collées au texte mais sinon ca marche!
end;
end;
end;
end;
end;
end;
end; |
Partager