07/02/2010, 21:41
mehmetdemiral
Bu arada çalışmanızı biraz inceledim. Ve gördüm ki siz benim düzelttiğim sorguya gelene kadar bir sürü sorgudan geçmiş verileri kullanıyorsunuz. O sorgulardan zaten veri gelmiyor ki, sıfır olmasın
Şimdi bakın, sizin sorgunuzda bir toplam alanında veri şöyle çağrılmış:
stkdurum: Topla([ToplaGirenAd]-[ToplaMiktar])
Bu şekilde çağırdığında eğer değerlerden biri yoksa (null ise) sonuç null (yani boşluk) olacaktır. Oysa şöyle demelisiniz ki değer yoksa 0(sıfır) gelsin. Bir sayıyı null'dan çıkaramazsınız ama sıfırdan çıkarırsınız değil mi? İşte olay bu.
stkdurum: NZ(Topla([ToplaGirenAd]-[ToplaMiktar]);0)
Bakın işlemlerin başına NZ ilave ettik ve tümünün sonucunun null olması durumunda değerin null değil sıfır olması için de ;0 ifadesi ekledik. Yukardaki ilk halinde null dönecekken böylece artık sıfır dönecektir. Siz bunu tüm matematiksel işlem gerektiren sorgularınıza uygulamalısınız. Sonuçları null olabilecek tüm değerleri IIF ile veya null ile sıfıra döndermelisiniz.
Kolay gelsin..
Şimdi bakın, sizin sorgunuzda bir toplam alanında veri şöyle çağrılmış:
stkdurum: Topla([ToplaGirenAd]-[ToplaMiktar])
Bu şekilde çağırdığında eğer değerlerden biri yoksa (null ise) sonuç null (yani boşluk) olacaktır. Oysa şöyle demelisiniz ki değer yoksa 0(sıfır) gelsin. Bir sayıyı null'dan çıkaramazsınız ama sıfırdan çıkarırsınız değil mi? İşte olay bu.
stkdurum: NZ(Topla([ToplaGirenAd]-[ToplaMiktar]);0)
Bakın işlemlerin başına NZ ilave ettik ve tümünün sonucunun null olması durumunda değerin null değil sıfır olması için de ;0 ifadesi ekledik. Yukardaki ilk halinde null dönecekken böylece artık sıfır dönecektir. Siz bunu tüm matematiksel işlem gerektiren sorgularınıza uygulamalısınız. Sonuçları null olabilecek tüm değerleri IIF ile veya null ile sıfıra döndermelisiniz.
Kolay gelsin..