SQL ile ETOPLA sorgusu yapmak

antonio

Destek Ekibi
Destek Ekibi
Katılım
13 Şubat 2011
Mesajlar
1,161
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

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
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]
 

antonio

Destek Ekibi
Destek Ekibi
Katılım
13 Şubat 2011
Mesajlar
1,161
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013 Türkçe
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?
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
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:

antonio

Destek Ekibi
Destek Ekibi
Katılım
13 Şubat 2011
Mesajlar
1,161
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013 Türkçe
Murat Hocam açıklamalarınız için çok teşekkür ederim.
Çalışmalarınızda başarılar ve kolaylıklar dilerim.
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Rica ederim, iyi günler.
 
Üst