• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

SQL ile ETOPLA sorgusu yapmak

  • Konbuyu başlatan Konbuyu başlatan antonio
  • Başlangıç tarihi Başlangıç tarihi

antonio

Destek Ekibi
Destek Ekibi
Katılım
13 Şubat 2011
Mesajlar
1,167
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013 Türkçe
Herkese Merhaba,
Ekte ki zip dosyasının içinde küçük birer access ve excel dosyası bulunmaktadır. Excel dosyasında gerekli açıklamaları ayrıntılı bir şekilde yaptığımı sanıyorum. Excel dosyasındaki UserForm üzerinde bulunan buton, access veritabanında ki her kalemin genel toplamının; listbox üzerinde görüntülenmesini sağlamalıdır. Şimdiden ilgilenen her kese teşekkürler, saygılar.
 

Ekli dosyalar

Deneyin;
Kod:
[FONT="Trebuchet MS"]sorgu = "select [COLOR="Red"]distinct[/COLOR]([konu]), [COLOR="red"]sum[/COLOR]([gelir]), [COLOR="red"]sum[/COLOR]([gider]) from [COLOR="red"]tbl [/COLOR]where not isnull([konu])[COLOR="Red"] group by [konu][/COLOR]"
Set rs = conn.Execute(sorgu)[/FONT]
 
Deneyin;
Kod:
[FONT="Trebuchet MS"]sorgu = "select [COLOR="Red"]distinct[/COLOR]([konu]), [COLOR="red"]sum[/COLOR]([gelir]), [COLOR="red"]sum[/COLOR]([gider]) from [COLOR="red"]tbl [/COLOR]where not isnull([konu])[COLOR="Red"] group by [konu][/COLOR]"
Set rs = conn.Execute(sorgu)[/FONT]

Değerli Hocam, ilgilendiğiniz için çok teşekkür ederim. Sayenizde ilk kez distinct kelimesi ile tanıştım. İnternette bu kelime ile ilgili arama yaptım, anladığım kadarıyla, verilerin tekrarsız birer kaydını sıralıyor. İzniniz olursa, size iki sorum daha olacak:
1- Distinct benzeri bir komut VBA Makro kodlarında mevcut mudur?
2- rs.getrow ile veriler ilk kolondan itibaren sıralanıyor. Bu sıralamayı ikinci yada 3. kolondan başlatmak mümkün müdür?
 
Değerli Hocam, ilgilendiğiniz için çok teşekkür ederim. Sayenizde ilk kez distinct kelimesi ile tanıştım. İnternette bu kelime ile ilgili arama yaptım, anladığım kadarıyla, verilerin tekrarsız birer kaydını sıralıyor. İzniniz olursa, size iki sorum daha olacak:
1- Distinct benzeri bir komut VBA Makro kodlarında mevcut mudur?
2- rs.getrow ile veriler ilk kolondan itibaren sıralanıyor. Bu sıralamayı ikinci yada 3. kolondan başlatmak mümkün müdür?

Distinct sözcüğü dediğiniz gibi mükerrer kayıtları teke düşürmeyi sağlar ama bu sorguda pek bir etkisi yok açıkçası.
Çünkü; sorgunun sonundaki konu alanına göre gruplama (group by [konu]) yaptık. Gruplama yaptığımızda zaten konu alanındaki veriler teke düşmüş olacaktır.

Yani sorguyu bu şekilde değiştirdiğinizde de aynı sonucu elde etmiş olursunuz.

Kod:
[FONT="Trebuchet MS"]sorgu = "select [konu], sum([gelir]), sum([gider]) from tbl where not isnull([konu]) group by [konu]"[/FONT]

1. sorunuz için; SQL'deki Distinct sözcüğü benzeri olarak, VBA'da Scripting.Dictionary nesnesi, CountIf fonksiyonu vs. kullanılabilir.

2. sorunuz için, başta kaç sütun boşluk bırakmak istiyorsanız o kadar çift tek tırnak işareti koyabilirsiniz. Her alandan sonra virgül koymalısınız.
Kod:
[FONT="Trebuchet MS"]sorgu = "select [COLOR="Red"]''[/COLOR], [COLOR="red"]''[/COLOR], [konu], sum([gelir]), sum([gider]) from tbl where not isnull([konu]) group by [konu]"[/FONT]
 
Son düzenleme:
Murat Hocam açıklamalarınız için çok teşekkür ederim.
Çalışmalarınızda başarılar ve kolaylıklar dilerim.
 
Rica ederim, iyi günler.
 
Geri
Üst