Delphi Stok Takip

Kodla Büyü

wertyu6

Süper Üye
Süper Üye
Mesajlar
1,795
Delphide veritabanı haricinde bilgim var ancak bu programda veritabanı kullanmam gerekiyor yalnız bir yerinden tutup başlayamadım.
Text dosyalar ile yapabilirim ancak çok uzun ve zor olacak gibi.
-Programda ürün kaydedilecek ve her ürün için resimdeki gibi bir kart açılacak.
-Kayıtlı ürünlerden seçim yapılıp seçilen ürünün kartı görüntülenecek, karttaki hareketlere ekleme-çıkarma yapılabilecek.



ben tek veritabanı içine yapmayı denedim ve görüntüleme aşamasında verileri filtreledim yalnız filtrelenmiş verilerde toplatma yaptıramadım.
her bir ürün için ayrı veritabanı yapsam dedim runtime anında nasıl veritabanı oluşturulacağını bulamadım.

Lütfen bi yol yordam gösterin bana.

Not:ticari amaçlı değildir.
 

Ekli dosyalar

  • liste.JPG
    liste.JPG
    38.4 KB · Görüntüleme: 4,334
Kod:
SELECT SUM(StokMiktar) as "Toplam Satış"
FROM liste
WHERE Açıklama ="A şirketi";
gibi bir şey iş görmesi lazım benim anladığım kadarıyla.
 
opian' Alıntı:
Kod:
SELECT SUM(StokMiktar) as "Toplam Satış"
FROM liste
WHERE Açıklama ="A şirketi";
gibi bir şey iş görmesi lazım benim anladığım kadarıyla.

bunun için hangi veritabanı kullanmam gerekiyor hocam?
birde hangi programlar kurulu olması gerekiyor bilgisayarımda?
 
veritabanından bilgi çekerken table bileşeni kullanmışsınız sanırım.Query bileşeni kullanın, sql komutu ile çağırırken de arkadaşımızın yazdığı gibi


select ad,soyad,sum(fatura) from ......... şeklinde çağıracaksınız
diğer bir yöntem de table ile yapmak istiyorsanız, table bileşenine sağ tıklayın, fields penceresini açın.yeni bir alan ekleyin ve bu alanı da istediğiniz şekilde biçimlendirin
kolay gelsin
 
pergun' Alıntı:
veritabanından bilgi çekerken table bileşeni kullanmışsınız sanırım.Query bileşeni kullanın, sql komutu ile çağırırken de arkadaşımızın yazdığı gibi


select ad,soyad,sum(fatura) from ......... şeklinde çağıracaksınız
diğer bir yöntem de table ile yapmak istiyorsanız, table bileşenine sağ tıklayın, fields penceresini açın.yeni bir alan ekleyin ve bu alanı da istediğiniz şekilde biçimlendirin
kolay gelsin

yeni alan eklememizdeki amaç nedir hocam?
 
hocam grid verileri table dan alır. table da veritabanından çektiği alanlara ek olarak bir alan oluşturmalı ve toplatmalı bunu gride vermeli ki gridde görünsün
 
hmm.ben yazılan sql komutlarından problem farklı zannettim.çünkü sql komutu alan oluşturmayı gerektiriyor table ile olursa. sizin projenizde toplam sadece 1 kez yapılacaksa alan oluşturmanıza gerek yok.Bunu table1.fields[x].Asdouble komutu ile değerleri for döngüsüyle alarak hesap yapabilir siniz.Sanırım aradığınız bu
 
pergun' Alıntı:
hmm. hocam sizin projenizde toplam sadece 1 kez yapılacaksa alan oluşturmanıza gerek yok.Bunu table1.fields[x].Asdouble komutu ile değerleri for döngüsüyle alarak hesap yapabilir siniz.Sanırım aradığınız bu

filtrelenmiş verilerde işe yaramıyor hocam bu komut.
her ürün için ayrı veritabanı da olmaz diye düşünüyorum çünkü çok çeşitli ürün olacak.
 
çok proje yaptım delphi ile o tip sorunlarla karşılaştığımda query kullanarak çözüyordum sorunu,daha esnek,table yerine query kullanarak çözersiniz.istediğiniz gibi veritabanından getirirken filtrelersiniz veriyi ve probleminizde kalmaz
 
Query kullanarak istediğin her türlü işlemi yapabilirsin hocam. query kullanmakta zorlanıyorsan basit bir kaç kod ile table ilede filtreleme yapabilirsiniz....
 
Her ürün için ayrı veritabanı en son çözüm diyeceğim. Ama en son çözüm bile değil. Çünkü çözüm değil.


Veritabanını optimize et. Bunları öğrenmeden veritabanı tasarlamak zor olur. Mysql de yaparsan ticari olarak o uygulamayı bir yere verdiğinde (bundle) suç işlemiş olursun. İlllede veritabanı sunucu olsun diyorsan postgresql ya da firebird olacak. Ama en iyisi paradox tabloları ya da access tabloları ile yapman. Basit bir işlem için veritabanı sunucuya gerek yok.

Öncelikle kağıda çiz ve tasarla.

Ayrı ayrı tablo tasarlayıp verileri sorgu esnasında birleştirerek çekmekten kaçınma.
 
Table1.Locate('FieldName',Edit1.Text,[LoPartialKey,loCaseInsensitive]);

bu şekilde bir kod yazarsanız belirttiğiniz fieldname alanında filtreleme yapar hocam.
 
AdoQuery1.Close;
AdoQuery1.SQL.Clear;
AdoQuery1.SQL.Add('SELECT * FROM Table1 WHERE Adi = :Adi');
AdoQuery1.Parameters.ParamByName('Adi').value := Edit1.text;
AdoQuery1.Active := True;

adoquery ile msacces veri tabanı kullandığınızı farzederek yazıyorum bu şekildede filtreleme yapabilirsiniz...
 
Metehan' Alıntı:
AdoQuery1.Close;
AdoQuery1.SQL.Clear;
AdoQuery1.SQL.Add('SELECT * FROM Table1 WHERE Adi = :Adi');
AdoQuery1.Parameters.ParamByName('Adi').value := Edit1.text;
AdoQuery1.Active := True;

adoquery ile msacces veri tabanı kullandığınızı farzederek yazıyorum bu şekildede filtreleme yapabilirsiniz...

peki filtrelenmiş verilerin herhangi bir sütununu toplatıp label a yazdırabilirmiyim?
 
Geri
Üst