Arkadaşlar bir konuda yardıma ihtiyacım var şöyleki;
ERehber Query Tablosunda ESTHAR_GCMIK alanı var bu alanda G olanlar giriş C olanlar çıkış ben G ve C olanları toplatıp birbirinden çıkartmak ve kalan miktarı bulmak istiyorum bu şekilde yaptım hata da vermedi ama değeride alamadım. Bir fikir verebilirmisiniz yada bir örnek ?
procedure TForm3.Edit2Exit(Sender: TObject);
begin
ERehber.SQL.Add('Select sum(ESTHAR_GCMIK) as CIKTOP from ERehber where EGCTIP=C AND ESTOK_KODU='+ QuotedStr(DBEdit6.text));
ERehber.Open;
//-('SELECT SUM(ESTHAR_GCMIK) AS GIRTOP FROM ERehber where EGCTIP=C');
DBEdit10.Text:=FloatToStr(CIKTOP);
end;
procedure TForm3.Edit2Exit(Sender: TObject);
begin
ERehber.SQL.Add('Select sum(ESTHAR_GCMIK) AS CIKTOP from ERehber where EGCTIP=C AND ESTOK_KODU='+ QuotedStr(DBEdit6.text));
ERehber.Open;
//-('SELECT SUM(ESTHAR_GCMIK) AS GIRTOP FROM ERehber where EGCTIP=C');
DBEdit10.Text:=ERehber.FieldByName('CIKTOP').AsString;
end;
yapmak istediğin ile kodların birbirini hiç tutmuyor çıkarma işlemi nerede? çıkarma yaptıktan sonraki sonuç nerede?
basit bir kod örneği umarım yardımcı olur.
Arkadaşlar sql de değişiklik yapıyorum çalışıyor ama Delphi de "-" de hata veriyor bir el atarmısınız?
procedure TForm3.Edit2Exit(Sender: TObject);
begin
ERehber.SQL.Add ('select (select sum(ESTHAR_GCMIK) from ERehber where EGCTIP=C AND ESTOK_KODU='+ QuotedStr(DBEdit6.text))-('select sum(ESTHAR_GCMIK) from TBLEMANET where EGCTIP=G AND ESTOK_KODU='+ QuotedStr(DBEdit6.text)) AS CIKTOP;
ERehber.Open;
DBEdit10.Text:=ERehber.FieldByName('CIKTOP').AsString;
end;
(DBEdit6.text))-('select sum.. burası hatalı diyor tavsiyem biraz sql çalışmanız internete ebook görsel eğitim v.s bir sürü materyal var hazır projeler de bir sürü var başlarda mantığı anlamakta baya faydalı oluyor bir kereden dalmayın böyle programlara yapıp bitirseniz bile en ufak bir hatada takılıp kalırsınız.
ve kendi kodlarınızı daha iyi anlamanız için formlara buttonlara name atayın dbedit6 yerine edt_stokkodu form3 yerine frm_takip edit2 yerine artık edit2 ne amaçla kullanılıyorsa ona ozel name vermeniz faydanıza olacaktır.
ERehber.SQL.Add ('select sum(ESTHAR_GCMIK) from ERehber where EGCTIP=C AND ESTOK_KODU='+ QuotedStr(DBEdit6.text))-('select sum(ESTHAR_GCMIK) from ERehber where EGCTIP=G AND ESTOK_KODU='+ QuotedStr(DBEdit6.text)) AS CIKTOP;
ERehber.SQL.Add ('select sum(ESTHAR_GCMIK) from ERehber where EGCTIP=C AND ESTOK_KODU='+ QuotedStr(DBEdit6.text))-('select sum(ESTHAR_GCMIK) from ERehber where EGCTIP=G AND ESTOK_KODU='+ QuotedStr(DBEdit6.text))+' AS CIKTOP');
procedure TForm4.DBGrid1DblClick(Sender: TObject);
begin
if form3.DBEdit6.Text = '' then
begin
form3.DBEdit6.Text :=Form4.ESRehber.FieldByName('ESTOK_KODU').Text;
form3.DBEdit7.Text :=Form4.ESRehber.FieldByName('ESTOK_ADI').Text;
Form3.ERehber.Close;
Form3.ERehber.SQL.Clear;
Form3.ERehber.SQL.Add('SELECT ESTOK_KODU,ECIK_KODU,ESTOK_ADI,ESTHAR_TARIH,EFISNO,EKALAN,EGCTIP,ESTHAR_GCMIK,ECIK_TARIH FROM TBLEMANET WHERE ECARI_KOD='+ QuotedStr(Form3.DBEdit1.text));
Form3.ERehber.Open;
Form3.ERehber.Close;
Form3.ERehber.SQL.Clear;
Form3.ERehber.SQL.Add('SELECT ESTOK_KODU,ECIK_KODU,ESTOK_ADI,ESTHAR_TARIH,EFISNO,EKALAN,EGCTIP,ESTHAR_GCMIK,ECIK_TARIH FROM TBLEMANET WHERE ESTOK_KODU='+ QuotedStr(Form4.DBEdit1.text));
Form3.ERehber.Open;
end;
Bu kısmı 'EGCTIP="C' çıkardığımda sorgum çalışıyor ama ben EGCTIP alanında tipi C veya G olanları toplatmak istiyorum . Bu haliyle verdiği hata
invalik Column name 'C' Yardım edermisiniz?
Form3.Filitre.Close;
Form3.Filitre.SQL.Add('SELECT SUM(ESTHAR_GCMIK) FROM TBLEMANET WHERE EGCTIP="C" AND ESTOK_KODU ='+ QuotedStr(Form4.DBEdit1.text));
Form3.Filitre.Open;
Form3.Edit4.Text:=Form3.Filitre.Fields[0].asstring;
C Çıkış
G Giriş
Aslında yapmak istediğim şu EGCTIP alanına C ve G kayıtları atıyorum ben bu C ve G kayıtların toplamını alıp Edit3 ve Edit4 yazdımak sonra Edit3 - Edit4 çıkartıp Edit5 e kalanı aktarmak amacım bu araştırdım ama bu işlemi tek sorguda yapabileceğim bir örnek bulamadım bildiğiniz projelerinizde böyle bir şey yaptıysanız banada gönderebilirmisiniz? Veya bu sorguyu düzeltebilirmisinz?
Form3.Filitre.Close;
Form3.Filitre.SQL.Add('SELECT SUM(ESTHAR_GCMIK) FROM TBLEMANET WHERE EGCTIP=:C AND ESTOK_KODU ='+ QuotedStr(Form4.DBEdit1.text));
Form3.Filitre.SQL.Add('SELECT SUM(ESTHAR_GCMIK) FROM TBLEMANET WHERE EGCTIP=:G AND ESTOK_KODU ='+ QuotedStr(Form4.DBEdit1.text));
Form3.Filitre.Open;
Form3.Edit4.Text:=Form3.Filitre.Fields[0].asstring;
Form3.Edit3.Text:=Form3.Filitre.Fields[0].asstring;
Form3.Edit5.Text:=(Form3.Edit4.Text)-(Form3.Edit3.Text);
Filitre.Close;
Filitre.SQL.Text:='SELECT SUM(ESTHAR_GCMIK) FROM TBLEMANET WHERE EGCTIP="C" AND ESTOK_KODU ='+ QuotedStr(Form4.DBEdit1.text);
Filitre.Open;