Selam. Database ve listview de ki ürün numaraları tutuyorsa ve bu ürün 'SU KAYAĞI' ise her birini toplamda kaç tane olduğunu nasıl bulabilirim?
Örnek:
2 ŞAMREL
3 SU KAYAĞI
3 SU KAYAĞI
3 SU KAYAĞI ----> TOPLAM 3 ADET
4 MİSİNA
4 MİSİNA
5 SU KAYAĞI
5 SU KAYAĞI
5 SU KAYAĞI
5 SU KAYAĞI
5 SU KAYAĞI
5 SU KAYAĞI----> TOPLAM 6 ADET
procedure TForm6.AdetleriGir(Sender: TObject);
var
R, HBSay: Integer;
begin
HBSay := 0;
With QPLNew, STList do
begin
for R := 0 to Items.Count - 1 do
begin
Connection := PLConnection;
Close;
SQL.Clear;
SQL.Add('Select * From FIRMALAR');
SQL.Add('Where URUNNO=:KN');
ParamByName('KN').AsString := Items[R].SubItems[1];
Prepared := True;
Open;
Items.BeginUpdate;
try
if (Pos(FieldByName('URUNNO').AsString, Items[R].SubItems[1]) > 0) and
(Pos(FieldByName('URUN').AsString, 'SU KAYAĞI') > 0) then
begin
inc(HBSay);
Items[R].SubItems[2] := IntToStr(HBSay) + ' Adet var';
end;
finally
Items.EndUpdate;
end;
end;
end;
end;
select count(*) from tablename. TStrings yada tstringlist te mükerrer kayıt girişi için boolean bir değişken vardı, aklıma gelmedi şimdi. onu True yap ve count u kullan
kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak... Zoru başarırım, İmkansız zaman alır FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
var
i,sayısı:integer;
begin
sayısı:=0;
for i := 0 to listview1.Items.Count -1 do
begin
if listview1.Items[i].Caption='3' then
if listview1.Items[i].SubItems[0]='SU KAYAĞI' then
sayısı:=sayısı+1;
end;
end;
Tavsiye üzerine "Select Count(*)" ile işleme devam edeceğim; fakat öncesinde ürünün adını ve ürünün numarasını aşağıdaki kodlarla almak istediğimde 'SU KAYAĞI' dışında araya faklı ürünlerinde bilgisi giriyor, acaba kodlamada nerede hata yapıyorum?
var
HB: String;
begin
With QPLNew, STList do
begin
Connection := PLConnection;
Close;
SQL.Clear;
SQL.Add('Select * From FIRMALAR');
Prepared := True;
Open;
while Not EOF do
begin
HB := Copy(FieldByName('URUN').AsString, 2, 14);
Next;
if Pos(HB, 'SU KAYAĞI') > 0 then
begin
Memo2.Lines.Add(FieldByName('URUN').AsString); // test için şimdilik memoya aktarıyorum
Memo1.Lines.Add(HB + ' ' + FieldByName('URUNNO').AsString);
end;
end;
end;
end;