Skip to main content

AccessTr.neT


Sorguda boş olan alanlardan dolayı diğerlerinin de görünmemesi

Sorguda boş olan alanlardan dolayı diğerlerinin de görünmemesi

Çözüldü #1
Sayın hocalarım
Gider havale, çek, kredikertı toplamları ayrı ayrı sorgularda topladım ve yeni bir sorguda bunları da toplayıp genel gideri bulmalıyım.
ama bu sorgulardan henüz kayıt girilmemiş boş olanlar var.
Toplarken
Nz([havale]+Nz([kredikartı])+Nz([Cek])
Şeklinde toplayacağımı biliyorum ama daha o işleme fırsat olmadan boş olan sorgu ilave edildiği an diğerleri de kayboluyor.
Ne yapabilirim? Yanlış bir yol mu izliyorum?
Ekteki örnek yalnızca örnek
Problem____burada sorgusuna bakın
.rar örnek.rar (Dosya Boyutu: 50,8 KB | İndirme Sayısı: 23)
Filtrelemede Ölçüt
Like"*"&[metin kutusu]&"*"
Cevapla
Çözüldü #2
Sorguda birleştirme yaparken birebir kullanmışsınız. Bu şekilde havale yoksa sorguda kayıt göremezsiniz. Birleştirmeyi çek içinde hepsi havalede eşleşen şekilde düzenlerseniz sanırım istediğiniz olur. (Ama ben sorguların iç yapılarını incelemedim. Hangi tablodan ne alır ya da sorgu bu şekilde mi olmalıdır dikkat etmedim. Sorunuza odaklandım sadece. Onun da çözümü ilişkilere dayanıyor)
Bana işe yarayan bir müdür göster,sana dünyayı yerinden oynatayım.
                                                                                        Descartes


Cevapla
Çözüldü #3
Öncelikle NZ kullanımına daha önceki sorgularda başlamalısınız. NZ fonksiyonu da sihirbaz değil ki tüm boşlukları sıfıra dönüştürsün. Mesela sorgunuzda iki sorgudan veri almışsınız.Ama bu sorgulardan S_Havale_Toplam isimli sorguda dönemler bile girilmeden veri almaya çalışıyorsunuz. Verilere göre gruplandırmışsınız ama daha dönemler ortada yok. Elbette sonuç null olacaktır. Dönemleri başka bir tablodan sabit olarak alıesanız

HVLMIK: Topla(Nz([HvlMiktari];0))

gibi bir kullanımla Havale miktarı yoksa (0) sıfır olarak getirebilirsiniz. Ama sorgunuzda dönemler jriterinde veri yok, Havale miktarı zaten yok. O zaman nasıl veri gelsin ki? Bundan ve S_Cek_Toplam sorgusundan veri alan PROBLEM_____BURADA isimli sorgunuzda da veriler elbette null olacaktır.İşe kaynak sorgulardan başlayın derim. Sonra PROBLEM_____BURADA isimli sorgunuzda varsa veri, yoksa 0 gelecektir. Bazen bu sorguda da alanları tıpkı yukarda verdiğim HVLMIK: Topla(Nz([HvlMiktari];0)) komutuyla almak gerekebiliyor. Olmazsa orada da aynı şekilde veri alırsınız.

Kolay gelsin.
İnadına, ille de Accesstr.net...
Cevapla
Çözüldü #4
Benzer bir cevap yazmak için kıvranıyordum, ama ifade edemiyordum. Mehmet hocam yetişmiş sağolsun.
Cevapla
Çözüldü #5
Hocam Sorguları daha önce içi veri ile dolu iken başladım. O zaman problem yoktu.
Artık bir prça hazır, Şunu bir deneme yapayım dadim ve verileri sildim.
Ama bir veri de olsa onu görmem lazım dedim göremedim.Img-grin
Yani alt toplamları alırken NZ yi nasıl kullanabilirim.
Dediğiniz gibi havalede hiç veri yok ama nakitte var , işlem yeni başlıyor ve ben henüz ne çek verdim ne havale yaptım. Yalnızca bir tek nakit var bu durumda o nakiti de göremiyorum.
Ama dediğiniz gibi Nz([havale];0) hesaplanan alanlarda geçerli öyle değil mi?
Ben seçme sorgu yapıp sadece alt toplam aldım. Bu durumda nereye nasıl müdahale etmeliyim ki; değeri 0 olarak kabul etsin?
Filtrelemede Ölçüt
Like"*"&[metin kutusu]&"*"
Cevapla
Çözüldü #6
Seçme sorgusunun tasarım ekranında yukardan aşağıya alanları sayıyorum.(Toplam tuşu basılı değil) Alan-Tablo-Sırala-Göster-Ölçüt- veya.... Şimdi bunlardan ALAN yazan yere aktardığımız HvlMiktarı alanını silip elimizle yazıyoruz:

HVLMIK: Topla(Nz([HvlMiktari];0))

Böylece HVLMIJ adında yeni bir değer tanımladık ve bu değere HvlMiktarı isimli tablo alanının toplamını aldık. Bu arada eğer değer yoksa da sıfır yaz dedik. Tüm olay bundan ibaret.

Tamam?
İnadına, ille de Accesstr.net...
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task