UserForm İle Access'e Kaydedilen Bilginin Excel'e Aktarımı

Katılım
6 Mayıs 2008
Mesajlar
125
Excel Vers. ve Dili
Microsoft Excel 2007 Tr
Merhaba arkadaşlar,
Bir sorum olcaktı,forumdaki bir örneği kendime uyarlamaya çalışıyorum.Userform ile verileri Access'e kaydediyorum ve Access dosyamda "Tutari" sütununu otomatik toplam ile toplatıyorum.Benim istediğim veri girişini Access'e girdiğim zaman "Tutari" sütununun altındaki toplam bakiyeyi excel'deki "veri" sayfasının "a2" hücresine yazacak.Bundan başka ise excelde rapor sayfam olcak.O sayfadaki "D10" hücresine mesela "05.02.2011" yazdığım zaman Access'teki "Tarihi" sütununu sorgulayıp o tarihte olanları exceldeki "rapor" sayfasına aktaracak.Acaba bunları nasıl yapabilirim.İlgilenecek olanlara şimdiden teşekkür ederim.Örnek ektedir.
 

Ekli dosyalar

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,059
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Toplam tutar için ilgili butondaki koda aşağıdaki kırmızı renkli ilaveyi yapın.

Kod:
Private Sub CommandButton1_Click()
yapilanislem = "'" & txtaciklama & "'"
tutari = "'" & txttutar & "'"
tarihi = "'" & txttarih & "'"
 
Call baglanti
Set rs = baglan.Execute("INSERT INTO GarantiBankasi (Yapilan_İslem,Tutari,Tarihi) Values (" & yapilanislem & "," & tutari & "," & tarihi & ")")
 
[B][COLOR=red]Set rs = baglan.Execute("select sum(Tutari) from GarantiBankasi")[/COLOR][/B]
[B][COLOR=red][veri!b2].CopyFromRecordset rs[/COLOR][/B]
 
Set baglan = Nothing: Set rs = Nothing:
listeye_al
temizle
MsgBox "Yeni kayıt eklendi.", vbInformation + vbOKOnly, "ERDİNÇ GÜDER"
Label4.Caption = "Toplam Kayıt Sayısı= " & ListBox1.ListCount
hata:
If Err = -2147217913 Then
    MsgBox "Ücret değeri rakamlardan oluşmalı ve tarih bölümüne geçerli bir tarih girilmeli.(Örn:31.12.2009)", vbCritical + vbOKOnly, "ERDİNÇ GÜDER"
End If
End Sub
Raporlama ile ilgili sorgulamayı userform mu yoksa sayfa üzerindeki bir butondan mı yapacaksınız. Eğer sayfa üzerinden bir buton ile yapacaksanız ve sorgu tarihinide D10 hücresinden alacaksanız aşağıdaki gibi bir çözüm kullanabilirsiniz.

Kod:
Sub sorgula()
[rapor!a2:c65536].ClearContents
Set baglan = CreateObject("adodb.connection")
baglan.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.Path & "\GELİR-GİDER PROGRAMI.mdb"
Set rs = baglan.Execute("select Yapilan_İslem,Tutari,Tarihi from GarantiBankasi where Tarihi=cdate('" & [rapor!d10] & "')")
[rapor!a2].CopyFromRecordset rs
rs.Close
baglan.Close
Set rs = Nothing
End Sub
 
Katılım
6 Mayıs 2008
Mesajlar
125
Excel Vers. ve Dili
Microsoft Excel 2007 Tr
Toplam tutar için ilgili butondaki koda aşağıdaki kırmızı renkli ilaveyi yapın.

Kod:
Private Sub CommandButton1_Click()
yapilanislem = "'" & txtaciklama & "'"
tutari = "'" & txttutar & "'"
tarihi = "'" & txttarih & "'"
 
Call baglanti
Set rs = baglan.Execute("INSERT INTO GarantiBankasi (Yapilan_İslem,Tutari,Tarihi) Values (" & yapilanislem & "," & tutari & "," & tarihi & ")")
 
[B][COLOR=red]Set rs = baglan.Execute("select sum(Tutari) from GarantiBankasi")[/COLOR][/B]
[B][COLOR=red][veri!b2].CopyFromRecordset rs[/COLOR][/B]
 
Set baglan = Nothing: Set rs = Nothing:
listeye_al
temizle
MsgBox "Yeni kayıt eklendi.", vbInformation + vbOKOnly, "ERDİNÇ GÜDER"
Label4.Caption = "Toplam Kayıt Sayısı= " & ListBox1.ListCount
hata:
If Err = -2147217913 Then
    MsgBox "Ücret değeri rakamlardan oluşmalı ve tarih bölümüne geçerli bir tarih girilmeli.(Örn:31.12.2009)", vbCritical + vbOKOnly, "ERDİNÇ GÜDER"
End If
End Sub
Raporlama ile ilgili sorgulamayı userform mu yoksa sayfa üzerindeki bir butondan mı yapacaksınız. Eğer sayfa üzerinden bir buton ile yapacaksanız ve sorgu tarihinide D10 hücresinden alacaksanız aşağıdaki gibi bir çözüm kullanabilirsiniz.

Kod:
Sub sorgula()
[rapor!a2:c65536].ClearContents
Set baglan = CreateObject("adodb.connection")
baglan.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.Path & "\GELİR-GİDER PROGRAMI.mdb"
Set rs = baglan.Execute("select Yapilan_İslem,Tutari,Tarihi from GarantiBankasi where Tarihi=cdate('" & [rapor!d10] & "')")
[rapor!a2].CopyFromRecordset rs
rs.Close
baglan.Close
Set rs = Nothing
End Sub
Sayın Levent Bey,
Öncelikle ilgilendiğiniz için size çok teşekkür ederim.Verdğiniz kodlar çok süper oldu tam istediğim gibi olmuş.Rapor ile sorgulamayı userformdan yaptırsam nasıl yapabilirim onu da ek olarak söylerseniz eğer o konudaki bilgimi de arttırabilirim.Mesela userform'a DTPicker ekleyip ordan tarihi seçip userformundaki sorgula butonuna basınca rapor sayfasına aktarsa çok süper olur.Bu forumdan çok şeyler öğreniyorum ve bu konulara da çok meraklıyım.Bu yüzden kendimi geliştirmek istiyorum.Tekrar teşekkür ederim ilginize,bilginize sağlık...
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,059
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Rapor ile sorgulamayı userformdan yaptırsam nasıl yapabilirim onu da ek olarak söylerseniz eğer o konudaki bilgimi de arttırabilirim.Mesela userform'a DTPicker ekleyip ordan tarihi seçip userformundaki sorgula butonuna basınca rapor sayfasına aktarsa çok süper olur.
Bunun için ilgili prosedür içindeki [rapor!d10] yerine tarih verisini alacağınız nesneyi tanımlayın. Örneğin, dtpicker1.value gibi
 
Üst