Skip to main content

AccessTr.neT


Sorgudan Sql İle Veri Çekme İşlemi Sırasında Hata Mesajı

Sorgudan Sql İle Veri Çekme İşlemi Sırasında Hata Mesajı

#7
DSum kullandığınızda sonuç boş/NULL dönerse, CDbl bu değeri sayısal bir tipe dönüştüremediği için hata verir. Bu nedenle boş sonuçları yönetmek için NZ fonksiyonunu kullanabilirsiniz diye belirtmiştim. Aşağıdaki gibi dener misiniz?

SELECT SubQuery.Liman, SubQuery.UrunKod, SubQuery.UrunAdi, SubQuery.ToplaMiktar, SubQuery.Satis, (SubQuery.ToplaMiktar - SubQuery.Satis) AS Kalan
FROM (SELECT tbl_Products.Liman, tbl_Products.UrunKod, tbl_Products.UrunAdi, Sum(tbl_Products.Miktar) AS ToplaMiktar, CDbl(Nz(DSum("[Miktar]", "tbl_Sales", "[Liman]='" & [Liman] & "' AND [UrunKod]='" & [UrunKod] & "'"), 0)) AS Satis
FROM tbl_Products
GROUP BY tbl_Products.Liman, tbl_Products.UrunKod, tbl_Products.UrunAdi) AS SubQuery;
Cevapla
#8
(27/09/2024, 16:00)atoykan yazdı: DSum kullandığınızda sonuç boş/NULL dönerse, CDbl bu değeri sayısal bir tipe dönüştüremediği için hata verir. Bu nedenle boş sonuçları yönetmek için NZ fonksiyonunu kullanabilirsiniz diye belirtmiştim. Aşağıdaki gibi dener misiniz?

SELECT SubQuery.Liman, SubQuery.UrunKod, SubQuery.UrunAdi, SubQuery.ToplaMiktar, SubQuery.Satis, (SubQuery.ToplaMiktar - SubQuery.Satis) AS Kalan
FROM (SELECT tbl_Products.Liman, tbl_Products.UrunKod, tbl_Products.UrunAdi, Sum(tbl_Products.Miktar) AS ToplaMiktar, CDbl(Nz(DSum("[Miktar]", "tbl_Sales", "[Liman]='" & [Liman] & "' AND [UrunKod]='" & [UrunKod] & "'"), 0)) AS Satis
FROM tbl_Products
GROUP BY tbl_Products.Liman, tbl_Products.UrunKod, tbl_Products.UrunAdi) AS SubQuery;

Hocam teşekkür ederim, bu sorguda Access ortamında çalışıyor, yalnız excel' e veriyi çekerken

Excel tarafındaki Sql sorgusunda "ifade' de tanımlanmamız NZ işlevi" şeklinde hata mesajı veriyor veriyor.

Kalan satırında Aşağıdaki şeklilde düzenleme yapınca işim çözüldü aslında;
Kod:
IIF(SubQuery.Satis>0, SubQuery.ToplaMiktar - SubQuery.Satis, SubQuery.ToplaMiktar) AS Kalan
başka bir çözüm var mıdır? bilemiyorum

selamlar,
iyi Çalışmalar.
truhi, 29-09-2009 tarihinden beri AccessTr.neT üyesidir.
Son Düzenleme: 27/09/2024, 17:47, Düzenleyen: truhi.
Cevapla
#9
(26/09/2024, 23:06)atoykan yazdı: DSum alanlarınız hesaplanan alan bunun sonucu da default olarak string döner. Bu alanlar için CInt, CDbl, CCur gibi fonksiyonlarla dönüştürme işlemi yapmanız gerekir. Uygun değer bulunması bulunmaması durumlarına göre NZ fonksiyonu veya mantıksal sınama IIF fonksiyonu gibi yardımcılar kullanabilirsiniz.
Excel genel sürümlerinde NZ fonksiyonunu okuyamıyor, alıntı yaptığım mesajımda da belirttim NZ veya IIF kullanmanız gerektiğini.
Başka yoları var mı? Tabiki var, sorgu sonuçlarının geçici tabloya yazdırılarak çekilmesinden tutun, sorgunun sorguyu tetiklemesine kadar birçok yöntem kullanılabilir.
Cevapla
#10
(27/09/2024, 19:03)atoykan yazdı:
(26/09/2024, 23:06)atoykan yazdı: DSum alanlarınız hesaplanan alan bunun sonucu da default olarak string döner. Bu alanlar için CInt, CDbl, CCur gibi fonksiyonlarla dönüştürme işlemi yapmanız gerekir. Uygun değer bulunması bulunmaması durumlarına göre NZ fonksiyonu veya mantıksal sınama IIF fonksiyonu gibi yardımcılar kullanabilirsiniz.
Excel genel sürümlerinde NZ fonksiyonunu okuyamıyor, alıntı yaptığım mesajımda da belirttim NZ veya IIF kullanmanız gerektiğini.
Başka yoları var mı? Tabiki var, sorgu sonuçlarının geçici tabloya yazdırılarak çekilmesinden tutun, sorgunun sorguyu tetiklemesine kadar birçok yöntem kullanılabilir.

her şey için teşekkürler Hocam
iyi ki varsınız!
truhi, 29-09-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
#11
Rica ederim, iyi çalışmalar.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task