Kod: Tümünü seç
procedure TFormsatis.Button1Click(Sender: TObject);
begin
formsatis.Hide;
formurun.show;
end;
procedure TFormsatis.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
adodataseturun.Open;
adodataseturun.Filtered:= false;
if key=#13 then begin
if not adodataseturun.Locate('barkod',edit1.Text, []) then
begin
Showmessage ('Kayıt Bulunamadı');
end else
begin
adodataseturun.Open;
adodataseturun.Edit;
adodatasettampon.Edit;
adodataseturun.Locate('barkod',edit1.Text, []);
if adodataseturunbarkod.Text=adodatasettamponbarkod.Text then
begin
adodatasettampon.Edit;
adodatasettamponmiktar.Value:= adodatasettamponmiktar.Value+1;
adodatasettampon.First;
end else
begin
adodataseturun.Open;
adodatasettampon.Edit;
adodatasettampon.Locate('barkod',edit1.text, []);
if adodatasettamponbarkod.Text=adodataseturunbarkod.Text then
begin
adodatasettampon.Edit;
adodatasettamponmiktar.Value:= adodatasettamponmiktar.Value+1;
adodatasettampon.First;
end else
begin
adodataseturun.Open;
adodatasettampon.Insert;
adodatasettamponbarkod.Text:= adodataseturunbarkod.Text;
adodatasettamponmal.Text:= adodataseturunmal.Text;
adodatasettamponiskonto.Value:= adodataseturuniskonto.Value;
adodatasettamponfiyat.AsCurrency:= adodataseturunfiyat.AsCurrency;
adodatasettamponmiktar.Value:=1;
adodatasettamponkar.AsCurrency:= (adodataseturunfiyat.AsCurrency-adodataseturunmaliyet.AsCurrency);
adodatasettamponkartoplam.AsCurrency:= adodatasettamponmiktar.Value*adodatasettamponkar.AsCurrency;
AdoqueryGenel.Recordset:= ADOConnectionurun.Execute('select sum((miktar*fiyat)-((miktar*fiyat*iskonto)/100)) from tablotampon');
EdGenelToplam.Text:= AdoQueryGenel.Fields[0].AsString;
end;
end;
end;
edit1.SetFocus;
edit1.Text:='';
end;
Form üzerine AdoQuery atıp, hiçbir bağlantı yapmadan kodu tampona atama yaptığım kodun altına yerleştirdim ancak şu uyarıyı aldım:
'Gerekli bir veya daha fazla parametre için girilen değer yok'
Bir de şunu sorayım, adoquerygenel.fields[0] , böyle bir alanımız normalde yok, kendisi mi oluşturacak burayı tam anlamadım.
Bir diğer soru da şu; dbgrid üzerinde biz miktar veya fiyat sütununda istediğimiz şekilde oynama yapabilecez, bu bakımdan bu kodun tampona atama yaptığımız kodun altına yerleştirilmesi GenelToplam'ı sağlıklı şekilde alabilmemize yetecek mi? Daha önce buna benzer birşey denedim, dbgrid de yapılan değişikliği anında GenelToplam a aksettiremedim, ancak barkoddan yeni ürün okutturulduğunda değişimi komple algıladı, bu da sorun olmuştu...Yani kodu datasource'un onchange olayına yazmalıyız gibi düşünüyordum ben!! Yanlış mı??