DSum komutu ve sorgu ile toplama

1 2
07/07/2010, 16:23

yasinunal

Arkadaşlar Merhaba
Ekteki STOKSORGU formunda "URUNADI" alanına yazdığım ürün adına göre, URUNHAREKETLERI tablosunda GIRIS-ÇIKIS alanı "GIRIS" ve BÖLÜM alanı "DEPO" olan ADET verilerinin toplanmasını istiyorum.
Bunun için iki yöntem uyguladım. Birincisinde Dsum komutunu kullandım fakat olmadı. 2.yöntemde de sorgu1 ve sorgu2 ile yapmaya çalışdım yine olmadı. Her 2 yöntemdeki hatam nedir ?

Yardımcı olacak arkadaşlara şimdiden teşekkür ederim
07/07/2010, 18:20

Taruz

Merhaba..

Dsum ile oluşturmanız gereken yapı bu olmalı..:

Dim x As String
x = Dsum ("[ADET]", "URUNHAREKETLERI", "[URUNADI] = '" & [Metin0] & "'" _
& " AND[GIRIS-CIKIS]='GIRIS' and [BÖLÜM]='DEPO'")
Me.Metin8 = x

Hatanız...: Eksik kriter ve metin kutusunu urunadı olarak tanımlamanızdan kaynaklı.. Kutunun adı metin0 ;)

Diğer uygulamak istediğiniz yöntem de Dlookup fonksiyonu ile olur.. Yukarıdaki yapının yerine bu kullanılabilir..:

Me.Metin8 = Dlookup ("toplaadet", "sorgu1")

İlk yöntem daha efektiftir..
07/07/2010, 18:41

assenucler

Dostlar merhaba;

Sayın Taruz'un kodunu açılan kutudaki 2. stok kalemine uyarlamaya çalıştım.

Açılan kutudan ilk seçimde hata vermiyor, 2 nci stok kalemi seçildiğinde resim2'deki hatayı alıyorum. Nerede hata yapıyorum?

Teşekkürler.
07/07/2010, 18:48

Taruz

Merhaba..

Hata fonksiyon null değer döndürdüğünden kaynaklı.. Yani o kriterlere uygun kayıt toplamı yok.. Bu durumu NZ fonksiyonu ile aşabilirsiniz..:

y = Nz(DSum("[ADET]", "URUNHAREKETLERI", "[URUNADI] = '" & [Metin0] & "'" _
& " AND[GIRIS-CIKIS]='CIKIS' and [BÖLÜM]='DEPO'"), 0)
Me.Metin12 = y
07/07/2010, 18:53

assenucler

Hocam ilginiz ve kısa süredeki yanıtınız için teşekkür ederim..

Selam ve sevgiler...
13/07/2010, 16:39

yasinunal

Sayın Taruz yardımınız için çok teşekkür ederim Problem çözüldü. Ayrıca sayın Assenucler size de ilginiz için teşekkür ederim.
1 2