arkadaşlar herkese selam. hepinizin geçmiş bayramınızı kutluyorum. Benim birkaç sorum olacak. Vergi iadesi fişleri kaydı ile ilgili ufak bir program yazmak istiyorum. Tablolarım şunlar.
TKISI
ID : AUTOINC;
KISI : VARCHAR(50);
TGRUP
ID : AUTOINC;
GRAD : VARCHAR(10);
TDONEM
ID : AUTOINC;
YIL : INTEGER;
TFISLER
ID : AUTOINC;
TARIH : DATE;
FISNO : VARCHAR(10);
KIMDEN : VARCHAR(50);
GRUP : VARCHAR(10);
TUTAR : NUMERIC;
Bu tabloların ilişkilendirilmesi yardımı ile, oluşturulacak formda önce kişiyi seçip sonra hangi yıl a kayıt yapacağını seçip sonra da o yıla ait fişleri gireceğim. yani her yıla ve her kişiye ayrı vt. oluşturmaktansa hepsini tek tabloda toplayacağım. ama açıkçası 1. hangi vt yi seçeceğim konusunda kararsızım. yani bu program her makinada çalışsın istiyorum. yani firebird veya interbase kurmak zorunda kalmayayım. bunun için ado yu seçmem gerektiğini düşünüyorum. ado yu seçersem eğer xp de yazdığım bu program win98 de çalışırmı acaba ve ado da ilişkilendirme nasıl yapılır.
2. table mi yoksa query mi kullanmalıyım. yani fişler tablosunda veri girerken
YIL KİŞİ TARİH FİŞNO KİMDEN GRUP TUTAR
------ -------------- ------------- -------- ----------------------- ------ -------
2005 ALİ ÇOBAN 01.01.2005 00001 PEHLİVANOĞLU A.Ş. GIDA 23,85
Şeklinde kayıt edilmesini istiyorum. Grup tablosuna sabit verileri ben gireceğim "gıda eğitim sağlık giyim ve kira"
3. bu verileri excele aktarabilirmiyim.
4. qreport ta a3 kağıdına çıktı alabilecek kadar genişletilmiş rapor hazırlayabilirmiyim.
arkadaşlar bu konularda açıklayıcı bilgilere ihtiyacım var. furm kurallarını okudum. ve forumu araştırdım. ama inanın bunların hepsini bir araya toplacayak tecrübeye sahip değilim. bu bilgilerin hepsini bu projede bir yere toplarsam bu benim için şablon olacak ve bundan sonraki programlarımda da bunu kullancağım. hem eminim ki böyle komple bir örneğe de benim gibi yeni başlayan arkadaşların da ihtiyacı vardır.
ilgilenen ve cevaplayan herkese çok teşekkür ediyorum.
ilişkili tablolara kayıt girme
- Terminator
- Üye
- Mesajlar: 313
- Kayıt: 13 Ara 2005 01:45
- Konum: İzmir, ama Aydın Efesi!
TKISI
ID : AUTOINC;
KISI : VARCHAR(50);
* ID integer olmalı, kişi sayısı 32 bini geçebilir belki
TGRUP
ID : AUTOINC;
GRAD : VARCHAR(10);
* ID smallint olmalı, grup sayısı fazla olmaz
TDONEM
ID : AUTOINC;
YILI : INTEGER;
* Bu tabloya ihtiyacın yok aslında, illa tutacaksan ID ye gerek yok,
YIL smallint olmalı, YIL aynı zamanda ID konumunda burada çünkü
TFISLER
ID : AUTOINC;
TARIH : DATE;
FISNO : VARCHAR(10);
KIMDEN : VARCHAR(50);
GRUP : VARCHAR(10);
TUTAR : NUMERIC;
* Fiş kime ait? hani kişi_ID ?
Fiş_ID integer olmalı, GRUBA madem ID verdin burada adını değil ID sini kullan çünkü bu bir hareket tablosu ve hacmi önemli.
TUTAR YTL olacağı için, (bu seneki vergi iadesi olayına yetiştiremezsin çünkü) numeric(9,2) verebilirsin, 4 byte binaryde tutacak. hiç kimse
1 milyon ytl harcayıp fiş ya da fatura olarak iadeye işlemez.
eğer tek kullanıcılı düşünüyorsan, embedded firebird her yerde, sadece uygulama dizinini kopyalamanla çalışır.
ID : AUTOINC;
KISI : VARCHAR(50);
* ID integer olmalı, kişi sayısı 32 bini geçebilir belki

TGRUP
ID : AUTOINC;
GRAD : VARCHAR(10);
* ID smallint olmalı, grup sayısı fazla olmaz
TDONEM
ID : AUTOINC;
YILI : INTEGER;
* Bu tabloya ihtiyacın yok aslında, illa tutacaksan ID ye gerek yok,
YIL smallint olmalı, YIL aynı zamanda ID konumunda burada çünkü
TFISLER
ID : AUTOINC;
TARIH : DATE;
FISNO : VARCHAR(10);
KIMDEN : VARCHAR(50);
GRUP : VARCHAR(10);
TUTAR : NUMERIC;
* Fiş kime ait? hani kişi_ID ?
Fiş_ID integer olmalı, GRUBA madem ID verdin burada adını değil ID sini kullan çünkü bu bir hareket tablosu ve hacmi önemli.
TUTAR YTL olacağı için, (bu seneki vergi iadesi olayına yetiştiremezsin çünkü) numeric(9,2) verebilirsin, 4 byte binaryde tutacak. hiç kimse
1 milyon ytl harcayıp fiş ya da fatura olarak iadeye işlemez.
*basit bir uygulama olduğu için hemen her sistemle yapılabilir.Bu tabloların ilişkilendirilmesi yardımı ile, oluşturulacak formda önce kişiyi seçip sonra hangi yıl a kayıt yapacağını seçip sonra da o yıla ait fişleri gireceğim. yani her yıla ve her kişiye ayrı vt. oluşturmaktansa hepsini tek tabloda toplayacağım. ama açıkçası 1. hangi vt yi seçeceğim konusunda kararsızım. yani bu program her makinada çalışsın istiyorum. yani firebird veya interbase kurmak zorunda kalmayayım. bunun için ado yu seçmem gerektiğini düşünüyorum. ado yu seçersem eğer xp de yazdığım bu program win98 de çalışırmı acaba ve ado da ilişkilendirme nasıl yapılır.
eğer tek kullanıcılı düşünüyorsan, embedded firebird her yerde, sadece uygulama dizinini kopyalamanla çalışır.
* hangisi kolayına geliyorsa kullan, table burda pek zaaf göstermez çünkü herkesin kendi fişleri bir table gibi işlenecek. tüm tablonun browse edilmesi riski yok.2. table mi yoksa query mi kullanmalıyım. yani fişler tablosunda veri girerken
YIL KİŞİ TARİH FİŞNO KİMDEN GRUP TUTAR
------ -------------- ------------- -------- ----------------------- ------ -------
2005 ALİ ÇOBAN 01.01.2005 00001 PEHLİVANOĞLU A.Ş. GIDA 23,85
* birçok grid vs komponentinin excel için output verme fonksiyonu var.Şeklinde kayıt edilmesini istiyorum. Grup tablosuna sabit verileri ben gireceğim "gıda eğitim sağlık giyim ve kira"
3. bu verileri excele aktarabilirmiyim.
* yazıcının sayfa ayarlarında A3 seçeneği varsa yapabilmen lazım.4. qreport ta a3 kağıdına çıktı alabilecek kadar genişletilmiş rapor hazırlayabilirmiyim.
* kolay gelsin.arkadaşlar bu konularda açıklayıcı bilgilere ihtiyacım var. furm kurallarını okudum. ve forumu araştırdım. ama inanın bunların hepsini bir araya toplacayak tecrübeye sahip değilim. bu bilgilerin hepsini bu projede bir yere toplarsam bu benim için şablon olacak ve bundan sonraki programlarımda da bunu kullancağım. hem eminim ki böyle komple bir örneğe de benim gibi yeni başlayan arkadaşların da ihtiyacı vardır.
ilgilenen ve cevaplayan herkese çok teşekkür ediyorum.
Firebird Foundation Member #208
http://www.firebirdsql.org
http://www.firebirdsql.org