Sorgu Görsel Tasarım Kısmında =min() İşlevi

03/05/2022, 17:36

tarkanaykın

merhaba arkadaşlar, sorgumu görsel tasarım şeklinde açıyorum, amacım x adlı alandaki en düşük değere sahip kaydı almak(alt formuma bağlı sorgu). neyse işte sorgu tasarımında alanın altına ölçüt kısmına =min() yazıyorum çalışmıyor uyarı veriyor, şimdi normalde min() işlevinin şöyle olduğunu biliyorum; select min(alanadı) from tablo.... ama ben bunu Sql string kısıma eklemek istemiyorum çünkü benim Sql dizgem çok karmaşık... bunun yerine görsel sorgu tasarımda ilgili alanın altına (mantıken) =min() şeklinde yazıyorum olmuyor, bana bu olayda özellikle görsel tasarım kısımda bu işlevi nasıl kullanacağım konusunda yardımcı olur musunuz?
03/05/2022, 17:59

berduş

sayın @tarkanaykın lütfen açtığınız her konuya dosyanızı da ekleyin, bunu özellikle belirtmemize gerek yok.
Not: min yerine DMin kullanmayı deneyebilirsiniz
03/05/2022, 21:12

tarkanaykın

bundan sonra her sorumda dosyamı da göndereceğim, çok karışık diye göndermedim,  işlerin daha  düzgün yürümesi  ve daha hızlı hizmet olması adına  hassasiyet göstereceğime emin olabilirsiniz, ben, dosyadan bağımsız bir soru cevap olduğunu düşündüğümden eklemedim, neyse... dosyamı ekledim, maalesef o da olmadı. amacım hdToplamFiyat alanındaki en düşük değerli kaydı alt formda filtrelemek, size zahmet tekrar bi bakabilirseniz, teşekkürler.
unuttum söylemeyi tabi bunu ayrı bir buton ile yapmak istiyorum, orasını ben hallederim , tek istediğim, sorgu tasarımında ölçüt alanına ne yazmam gerekiyor sorusuna cevap, hdToplamFiyat alanının ölçüt kısmına =Min() yazdım da olmadı =DMin() de olmadı.
03/05/2022, 21:40

atoykan

Sorgunuzda sıralamasını yapmak istediğiniz alanın sırala seçeneğini artan veya azalan olarak belirlerseniz size istediğiniz alana ve türe göre verileri sıralanmış olarak verir. Bu sıralamadan diyelimki en üst üç kayıdın listelenmesini istiyorsanız sorgunuzdaki SELECT kısmından sonra TOP 3 yazarsınız ancak bu kısmı Tasarım görünümünde yapamaz Sql kısmında gerçekeştirebilirsiniz.

Çok detaylı inceleme şansım olmadı ancak sorgunuzu
SELECT TOP 1 depo.Kimlik, depo.depo, malzemeler.Kimlik, malzemeler.malzemeKodu, malzemeler.malzemeAdi, malzemeler.depoId, surec.Kimlik, surec.malzemeId, surec.onGorulenAdetToplam, surec.onGorulenOdenekTahsisi, surec.merkeziAlimdanOngorulen, surec.birimFiyat, surec.odenekPlanlama, surec.merkeziAlimPlanlama, surec.yeniBirimFiyat, surec.yeniToplamFiyat, surec.hdBirimFiyat, surec.hdToplamFiyat, surec.kalanAdet, surec.alinan, surec.kalanBakiye, surec.onaylananOdenekPlanlama
FROM (depo INNER JOIN malzemeler ON depo.Kimlik = malzemeler.depoId) INNER JOIN surec ON malzemeler.Kimlik = surec.malzemeId
WHERE (((surec.malzemeId) Like Nz([formlar]![sorguSurec]![malzemeAdi] & '*')))
ORDER BY surec.hdToplamFiyat;
şeklinde revize ederseniz hdToplamFiyat alanına göre artan sıralama ile sonuç döndürüp en düşük değeri aradığınız için TOP 1 parametresi ile en üst kaydı listelemiş olursunuz.
03/05/2022, 22:21

tarkanaykın

çok teşekkür ederim, daha pratik olanını tesadüfen buldum, artan sıralama yapınca zaten en üstteki istediğim kayıt oluyor, çok teşekkür ederim sayın atoykan