Cari Hesap Olayında ToplamBorc Alanı 100tl nın Uzerıne Geldiginde 1.Grid Musteriler 2.Grid Limit Asanlar
yani 2.grid datasourcesinde limti asanlar gozuksun boyle bişi mumkunmu acaba...
Cari Hesapta Sınırlama
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Cari Hesapta Sınırlama
mümkün. ama bu soruyla mümkün değil 
önce açıklayıcı bilgi vermelisiniz. örneğin veritabanı, tablo, grşdler dbgrid mi normal grid mi. işlemi nerde yapmak istiyorsunuz vs.vs.

önce açıklayıcı bilgi vermelisiniz. örneğin veritabanı, tablo, grşdler dbgrid mi normal grid mi. işlemi nerde yapmak istiyorsunuz vs.vs.
-
- Üye
- Mesajlar: 25
- Kayıt: 07 May 2009 12:53
Re: Cari Hesapta Sınırlama
Sql 2005 Veri Tabanı
DBGrid
Baska İstedıgın bilgi nedir
DBGrid
Baska İstedıgın bilgi nedir
Re: Cari Hesapta Sınırlama
kinyeli bir konuşma sezinliyorum. amacım yardımcı olmak bilginiz olsun.
tablo alanlarını da verseydiniz daha açıklayıcı olurdu.
neyse
varsayımla cevap veriyorum.
sorunuzdan anladığım kadarıyla müşteri bilgileri ile müşteri borcunnu aynı tavloda tutuyorsunuz müşteri tablonuz şu olsun
TABLE MUSTERI
MUSTERIID : INTEGER;
MUSTERADI : STRING;
...
..
...
MUSTERBORCU : Double;
dbgrid dediğinize göre limiti aşanları da ayrı bir tablod tutoyrsunuz.
o zamaan
TABLE LIMITASANLAR
ID : INTEGER ;
MUSTERID : INTEGER;
MUSTERIADI : STRING
...
...
..
BORCU
....
tabloları erişmek için Dataset kullandığınızı varsayıyoyrum.
dataset ismi müşteri için TMUSTERI, limit açanlar için TLIMITASANLAR olsun.
tabi bu arada borcunu aşmamış olanları da teemizlemeyi unutmuyorsunuz.
veritabanına kaydettiğiniz zaman dbgridde zaten görünecektir.
ayaküstü bunu yazdım artık kendinize göre şekillendirisiniz.
mesela aşanlar tablosunu önceden temizleyip locate methodunu kullanmayabilirsiniz.
kolay gelsin.
tablo alanlarını da verseydiniz daha açıklayıcı olurdu.
neyse
varsayımla cevap veriyorum.
sorunuzdan anladığım kadarıyla müşteri bilgileri ile müşteri borcunnu aynı tavloda tutuyorsunuz müşteri tablonuz şu olsun
TABLE MUSTERI
MUSTERIID : INTEGER;
MUSTERADI : STRING;
...
..
...
MUSTERBORCU : Double;
dbgrid dediğinize göre limiti aşanları da ayrı bir tablod tutoyrsunuz.
o zamaan
TABLE LIMITASANLAR
ID : INTEGER ;
MUSTERID : INTEGER;
MUSTERIADI : STRING
...
...
..
BORCU
....
tabloları erişmek için Dataset kullandığınızı varsayıyoyrum.
dataset ismi müşteri için TMUSTERI, limit açanlar için TLIMITASANLAR olsun.
Kod: Tümünü seç
with TMUSTERI do
begin
Close;
SelectSQL.Clear;
SelectSQL.ADD( SELECT * FROM MUSTERI WHERE MUSTERIBORCU>100); // borcu 100 liradan yukarı olanlar
Open;
First;
While Not Eof do
begin
if TLIMITASANLAR.Locate('MUSTERID',FieldByName('MUSTERID').Asinteger,[]) then TLIMITASANLAR.edit else TLIMITASANLAR.append;
// eğer önceden limit aşımı eklenmişse düzenle yoksa yeni ekle.
TLIMITASANLAR.FieldByName('MUSTERIID').ASinteger:=FieldByName('MUSTERIID').Asinteger;
TLIMITASANLAR.FieldByName('MUSTERIADI').AsString:=FfieldByName('MUSTERIADI').AsString;
.....
.....
TLIMITASANLAR.FieldByName('BORCU').ASCurrency:=FieldByName('MUSTERIBORCU').AsCurrency;
TLIMITASANLAR.Post;
Next; // bulunan sonuçlar içinde sonrakine git.
End; // While not eof
End; // With TMUSTERI
veritabanına kaydettiğiniz zaman dbgridde zaten görünecektir.
ayaküstü bunu yazdım artık kendinize göre şekillendirisiniz.
mesela aşanlar tablosunu önceden temizleyip locate methodunu kullanmayabilirsiniz.
kolay gelsin.
Re: Cari Hesapta Sınırlama
Form üzerine 2 tane Table (veya Query) nesnesi koyarsınız. İkisini de müşteriye bağlarsınız. Her biri için de birer tane DataSource koyarsınız. İki tane de DBGrid koyarsınız. DBGridleri DataSource a bağlarsınız. Sonra ilk Table'a propery editörden:
İkinci Table a propery editor'den
seçersiniz. Bu kadar.
Kod: Tümünü seç
Table1.Filter := 'ToplamBorc < 100';
Table1.Filtered := True;
Kod: Tümünü seç
Table1.Filter := 'ToplamBorc >= 100';
Table1.Filtered := True;
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)