AccessTr.neT

Tam Versiyon: Tablo'da Toplanması Gereken Alanların Kullanımı Hakkında Bilgi
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2
Herkeze iyi bayramlar,


Access öğreniyorum ve kısıtlı bilgimle, işte kullanmak üzere basit bir uygulama yapmak istiyorum, daha başlangıçta yanlış yapmamak için sizlere danışmak istedi.

Ekteki Uretim.accdb goreceginiz gibi iki adet tablo var;

Siparisler
SiparisNo
Siparis
SiparisAdedi
DeneyAdedi
UretimAdedi (SiparisAdedi+DeneyAdedi)
UretimHatti

Diğeri;

Siparisler Kopyası
SiparisNo
Siparis
SiparisAdedi
DeneyAdedi
UretimHatti

Bildiğime gore tabloda toplama yapmayı uygun görmüyorsunuz, zaten olan alanları tabloya tekrar koymak pek mantıklı gelmiyor, bende katılıyorum, ama 'UretimAdedi'ne daha sonra ihtiyacım olacağı için ne yapmalıyım;

1. Tabloda toplatmalıyım
2. Formda toplatmalıyım, ve her ihtiyacım olduğunda tekrar toplatmalıyım
3. Sorguda toplatmalıyım ve forma almalıyım, ama forma alamadım 'Siparisler Kopyası' formunda göreceksiniz
4. Sizlerin önereceği doğru yöntem

Saygılarımla,
Şöyle yanıt vereyim. Tabloda zaten var olan iki alanını aynı tabloda (veya başka tabloda) tekrardan toplanması mantıklı olmaz. Bu durum sadece değişken değerlerde gerekir. Örnek vereyim:

Diyelim bir müşteri tanesi 10 lira olan bir üründen 10 tane aldı. Ürünün fiatı değişken olduğu için bu satışın o günkü değeri toplam 100 Tl iken diyelim 2 ay ürünün fiatı 12 Tl olunca 12*10= 120 Tl olabilir. Eğer o gün bu işlemi bir tabloya yazmazsak, daha sonra toplandığında hesaplar yanlış çıkacak, istatistiksel işlemlerde hata olacaktır. Ama diyelim ki 3 farklı kalem malzemeye ait girişler toplanmak istendiğinde, A ürününden 10, B ürününden 12 ve C ürününden 52 tane giriş yapılarak zaten tabloda varken bir de bunların toplamının tabloya kaydedilmesi doğru değildir. Hem ürün adetlerindeki değişkenliği toplama yansıtmayacaksınız, hem de gereksiz yere tabloyu şişirmiş olacaksınız.

Ama bunu yapmak size zor gelebilir. Gördüğüm kadarıyla toplamanın sonucunu tabloya yazmaktan çekindiğiniz için kendinizi kasarak çok basit bir toplama işlemini bile sorguda halletmeyle uğraşıyorsunuz. Bunun için sorgu da gerekmez aslında. Düşünün ki bütün değerler formdaki metin kutularına geliyor. Neden bir de bu formun bağlı olmadığı bir sorgudan veri almayla uğraşalım ki? Metin kutularımız bu verilere sahip zaten. Metin19'daki işlem doğrudur. Sorguyla almak gerekmez.

Bu arada tabloda kopyalar vs ile neden aynı tabloyu çoğalttınız? Ne yapmayı amaçladığınızı yazarsanız daha çok yardımcı olabilirim.
Sayın Demiral,

Hızlı cevabınız için çok teşekkür ederim, kopyalanmış tablonun amacı, sadece göstermekti, yeni eklediğim dosyada tabloyu kaldırdım ve amacıma yönelik bazı değişiklikler yaptım. Uretim tablosunda göreceğiniz gibi aynı işi yapan hatta üç farklı cihaz var bunlar alt kovan ve üst kovan dediğimiz ürünleri üretiyorlar vardiya sonunda bana hangi sipariş için toplam kaç tane üst kovan ve alt kovan üretilmiş bunları bulmam gerekiyor, formül ize etmek gerekirse;
UstKovan=P1Ust+P2Ust+P3Ust
AltKovan=P1Alt+P2Alt+P3Alt

daha sonra siparişler formunda o sipariş için üretilen toplam UstKovanları görmek ve ne kadar üreteceğimi görmek amacıyla da UretimAdedi-ToplamUstKovan alanlarına ihtiyacım var, işte benim takıldığın nokta bu, eğer vaktiniz varsa lütfen gönderdiğim dosyayı incelermisiniz. Eklediğim dosyada tablolarda toplamlar mevcut, çünkü ben formdan alan alıp hesaplamalarda kullanmayı bilmiyorum.

Saygılarımla,
Şu anda sorusuz çalışıyor sanırım. Sorun nedir?
Sayın Demiral,

Haklısınız yanlış dosyayı eklediğim için, ne demek istediğim anlamanız zor, Siparisler formunu açtığınızda Metin40 alanına o siparis için üretilmiş Üst Kovan ların toplamının gelmesini, 1 numaralı sipariş için örnek vermek gerekirse, Metin40=380 ve Metin43 alanına da UretimAdedi nden Toplam Ust Kovan ların çıkarılması sonucunda üretilmesi gereken Üst Kovanların bulunmasını istiyorum, 1 numaralı sipariş için Metin43=625. Metin kutularının denetim kaynağına formülleri yazdım ama çalıştıramadım.

Saygılarımla,
Formun bağlanmadığı ilişkisiz bir tablodan o şekilde değer alamazsınız. Bunun için bir işlev kullanabilir veya Sql gibi bir sorgulama dili kullanmalısınız. Ben şahsen en kolayını yapıp o değeri bir ara sorgu aracılığı ile bir altforma çağırıyorum ve ordan alıyorum. Sizde zaten böyle bir altform mevcut: Uretimaltform. Sadece adresini doğru yazmak gerekiyor. Ama toplamları altformun altbilgi alanına almak çok daha işe yarar bir yöntemdir. Bu nedenle örneğini< üzerinde gösterdim. Daha sonra bu altbilgi alanındaki (adı metin11) toplam değerleri
=[UretimAltForm].[Form]![Metin11]
gibi alabilirsiniz. Formülünüzdeki diğer değer zaten form üzerinde yer aldığı için artık metin43 doğru olarak çalışacaktır.
Sayfalar: 1 2