- Katılım
- 13 Şubat 2011
- Mesajlar
- 1,162
- Excel Vers. ve Dili
- Microsoft Office Professional Plus 2013 Türkçe
Merhaba Arkadaşlar,
Userform ile veriler.accdb access veritabanındaki tablolardan giderler tablosuna sql sorgusu ile bağlanarak tüm gider kalemlerinin tüm aylara karşılık gelen gider toplamlarını ay ay görüntülemek istedim, ancak başaramadım.
Tum giderlerin her hangi bir aya karşılık gelen toplamını almakta sorun yok. hatta bunu bir spinbutton yardımıyla textbox change olayına bağlayarak yazan aya ait gider toplamını ilgili ayın hizasına getirebiliyorum. Oysa benim oluşturmak istediğim tablo, ekte gönderdiğim zip dosyası içindeki excel dosyasında sayfa1 de tablo olarak görüntülenmiştir. Şimdiden ilgilenen tüm arkadaşlara teşekkür ederim..
Aşağıda kullandığım kodları yazıyorum:
Userform ile veriler.accdb access veritabanındaki tablolardan giderler tablosuna sql sorgusu ile bağlanarak tüm gider kalemlerinin tüm aylara karşılık gelen gider toplamlarını ay ay görüntülemek istedim, ancak başaramadım.
Tum giderlerin her hangi bir aya karşılık gelen toplamını almakta sorun yok. hatta bunu bir spinbutton yardımıyla textbox change olayına bağlayarak yazan aya ait gider toplamını ilgili ayın hizasına getirebiliyorum. Oysa benim oluşturmak istediğim tablo, ekte gönderdiğim zip dosyası içindeki excel dosyasında sayfa1 de tablo olarak görüntülenmiştir. Şimdiden ilgilenen tüm arkadaşlara teşekkür ederim..
Aşağıda kullandığım kodları yazıyorum:
Kod:
Private Sub TextBox1_Change()
Dim conn As Object, rs As Object, yol As String, sorgu As String
yol = ThisWorkbook.Path & "\veriler.accdb"
Set conn = CreateObject("adodb.connection")
Set rs1 = CreateObject("adodb.recordset")
Set rs2 = CreateObject("adodb.recordset")
Set rs3 = CreateObject("adodb.recordset")
Set rs4 = CreateObject("adodb.recordset")
conn.Open "provider=microsoft.ace.oledb.12.0; data source=" & yol & ";"
'access tablo bilgileri:
'tablo adı: giderler
'tablo alanları: sr_no, tarih, gider_kalemi, tutar
'butona basıldığı zaman her gider kaleminin listede sıralanmasını ve karşısında 12 ay boyunca
'hangi ay ne kadar bir toplam gider maliyeti olduğunu tek tabloda (sayfadaki gibi) listelemek istiyorum
'sorgu bu ihtiyaca karşılık verecek şekilde yapılmalı (topla.çarpım mantığı)
'önceden teşekkürler
sorgu1 = "select '', gider_kalemi, format(sum(tutar), '#,##0.#0') from giderler where month(tarih)=1 group by gider_kalemi"
sorgu2 = "select '', gider_kalemi, '', format(sum(tutar), '#,##0.#0') from giderler where month(tarih)=2 group by gider_kalemi"
sorgu3 = "select '', gider_kalemi, '', '', format(sum(tutar), '#,##0.#0') from giderler where month(tarih)=3 group by gider_kalemi"
sorgu4 = "select '', gider_kalemi, '', '', '', format(sum(tutar), '#,##0.#0') from giderler where month(tarih)=4 group by gider_kalemi"
sorgu5 = "select '', gider_kalemi, '', '', '', '', format(sum(tutar), '#,##0.#0') from giderler where month(tarih)=5 group by gider_kalemi"
sorgu6 = "select '', gider_kalemi, '', '', '', '', '', format(sum(tutar), '#,##0.#0') from giderler where month(tarih)=6 group by gider_kalemi"
sorgu7 = "select '', gider_kalemi, '', '', '', '', '', '', format(sum(tutar), '#,##0.#0') from giderler where month(tarih)=7 group by gider_kalemi"
sorgu8 = "select '', gider_kalemi, '', '', '', '', '', '', '', format(sum(tutar), '#,##0.#0') from giderler where month(tarih)=8 group by gider_kalemi"
sorgu9 = "select '', gider_kalemi, '', '', '', '', '', '', '', '', format(sum(tutar), '#,##0.#0') from giderler where month(tarih)=9 group by gider_kalemi"
sorgu10 = "select '', gider_kalemi, '', '', '', '', '', '', '', '', '', format(sum(tutar), '#,##0.#0') from giderler where month(tarih)=10 group by gider_kalemi"
sorgu11 = "select '', gider_kalemi, '', '', '', '', '', '', '', '', '', '', format(sum(tutar), '#,##0.#0') from giderler where month(tarih)=11 group by gider_kalemi"
sorgu12 = "select '', gider_kalemi, '', '', '', '', '', '', '', '', '', '', '', format(sum(tutar), '#,##0.#0') from giderler where month(tarih)=12 group by gider_kalemi"
Set rs1 = conn.Execute(sorgu1)
Set rs2 = conn.Execute(sorgu2)
Set rs3 = conn.Execute(sorgu3)
Set rs4 = conn.Execute(sorgu4)
Set rs5 = conn.Execute(sorgu5)
Set rs6 = conn.Execute(sorgu6)
Set rs7 = conn.Execute(sorgu7)
Set rs8 = conn.Execute(sorgu8)
Set rs9 = conn.Execute(sorgu9)
Set rs10 = conn.Execute(sorgu10)
Set rs11 = conn.Execute(sorgu11)
Set rs12 = conn.Execute(sorgu12)
With ListBox1
' .Column = rs2.getrows
' .Column = rs & TextBox1.Value.getrows
Select Case TextBox1.Value
Case 1
.RowSource = Empty
.Column = rs1.getrows
Case 2
.RowSource = Empty
.Column = rs2.getrows
Case 3
.RowSource = Empty
.Column = rs3.getrows
Case 4
.RowSource = Empty
.Column = rs4.getrows
Case 5
.RowSource = Empty
.Column = rs5.getrows
Case 6
.RowSource = Empty
.Column = rs6.getrows
Case 7
.RowSource = Empty
.Column = rs7.getrows
Case 8
.RowSource = Empty
.Column = rs8.getrows
Case 9
.RowSource = Empty
.Column = rs9.getrows
Case 10
.RowSource = Empty
.Column = rs10.getrows
Case 11
.RowSource = Empty
.Column = rs11.getrows
Case 12
.RowSource = Empty
.Column = rs12.getrows
End Select
End With
Set rs1 = Nothing
Set rs2 = Nothing
Set rs3 = Nothing
Set rs4 = Nothing
Set rs5 = Nothing
Set rs6 = Nothing
Set rs7 = Nothing
Set rs8 = Nothing
Set rs9 = Nothing
Set rs10 = Nothing
Set rs11 = Nothing
Set rs12 = Nothing
Set conn = Nothing
End Sub
Ekli dosyalar
-
53.2 KB Görüntüleme: 21