Soru sql sorgusuna kriter ekleme

Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
07-02-2024
Merhaba arkadaşlar.
Ekli çalışmamda frmRapor isimli formda bulunan ComboBox5 ve ComboBox6 ile koordineli olarak veri tabanından veriyi alıp excell sayfasına atmak istiyorum.
ComboBox5 te fatura türleri listeleniyor (Elektrik, Su, Gaz vb). ComboBox6 da ise dönemler listeleniyor. (Ocak 2020, Şubat 2020 vb)
ComboBox5 ten fatura türünü seçip devamında ComboBox6 dan da dönem seçince, seçilen döneme ait verilerin veri tabanından alınarak ilgili sayfaya aktarılması gerekiyor. Aşağıdaki kod ile fatura tablosundaki fatura türüne ait tüm veriler aktarılıyor.
Burada yapılacak düzenleme ile abone türüne ilave olarak dönem kriterini de göz önüne alarak veri aktarımı yapılsın.
Yardımcı olacak arkadaşlara teşekkür ederim.
C++:
Call BAGLANTI
Set rs = CreateObject("ADODB.Recordset")
abone_sec = ComboBox5.Value
strSQL = "SELECT IlceAdi,birim_adi,abone_no,fatura_no,isletme_kodu,carpan,ilk_endex,son_endex,sarfiyat,ilk_okuma,son_okuma,Format(fatura_tarihi, 'mmmm yyyy') ,fatura_tutari " & _
             "FROM fatura " & _
             "WHERE abone_adi='" & abone_sec & "' "
           rs.Open strSQL, baglan, 1, 1
s1.Range("b3").CopyFromRecordset rs
rs.Close
223340
 

Ekli dosyalar

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,110
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba arkadaşlar.
Ekli çalışmamda frmRapor isimli formda bulunan ComboBox5 ve ComboBox6 ile koordineli olarak veri tabanından veriyi alıp excell sayfasına atmak istiyorum.
ComboBox5 te fatura türleri listeleniyor (Elektrik, Su, Gaz vb). ComboBox6 da ise dönemler listeleniyor. (Ocak 2020, Şubat 2020 vb)
ComboBox5 ten fatura türünü seçip devamında ComboBox6 dan da dönem seçince, seçilen döneme ait verilerin veri tabanından alınarak ilgili sayfaya aktarılması gerekiyor. Aşağıdaki kod ile fatura tablosundaki fatura türüne ait tüm veriler aktarılıyor.
Burada yapılacak düzenleme ile abone türüne ilave olarak dönem kriterini de göz önüne alarak veri aktarımı yapılsın.
Yardımcı olacak arkadaşlara teşekkür ederim.
C++:
Call BAGLANTI
Set rs = CreateObject("ADODB.Recordset")
abone_sec = ComboBox5.Value
strSQL = "SELECT IlceAdi,birim_adi,abone_no,fatura_no,isletme_kodu,carpan,ilk_endex,son_endex,sarfiyat,ilk_okuma,son_okuma,Format(fatura_tarihi, 'mmmm yyyy') ,fatura_tutari " & _
             "FROM fatura " & _
             "WHERE abone_adi='" & abone_sec & "' "
           rs.Open strSQL, baglan, 1, 1
s1.Range("b3").CopyFromRecordset rs
rs.Close
Ekli dosyayı görüntüle 223340

Private Sub listeye_al_tarih(date1 As Date, date2 As Date) prosedürü altındaki;

Kod:
   rs.Open "select * from [fatura] WHERE [fatura_tarihi] Between " & dt1 & " And " & dt2, baglan, 1, 1
satırını;
Kod:
If Me.ComboBox5.Text = "" Then

   rs.Open "select * from [fatura] WHERE [fatura_tarihi] Between " & dt1 & " And " & dt2, baglan, 1, 1
   
 Else
 
    rs.Open "select * from [fatura] WHERE [abone_adi]='" & Me.ComboBox5 & "' " & _
    "and [fatura_tarihi] Between " & dt1 & " And " & dt2, baglan, 1, 1

 End If
bu şekilde değiştirin

ayrıca; aşağıdaki kodları ekleyin.

Kod:
Private Sub ComboBox5_Change()

Call ComboBox6_Change

End Sub
 
Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
07-02-2024
Private Sub listeye_al_tarih(date1 As Date, date2 As Date) prosedürü altındaki;

Kod:
   rs.Open "select * from [fatura] WHERE [fatura_tarihi] Between " & dt1 & " And " & dt2, baglan, 1, 1
satırını;
Kod:
If Me.ComboBox5.Text = "" Then

   rs.Open "select * from [fatura] WHERE [fatura_tarihi] Between " & dt1 & " And " & dt2, baglan, 1, 1
  
Else

    rs.Open "select * from [fatura] WHERE [abone_adi]='" & Me.ComboBox5 & "' " & _
    "and [fatura_tarihi] Between " & dt1 & " And " & dt2, baglan, 1, 1

End If
bu şekilde değiştirin

ayrıca; aşağıdaki kodları ekleyin.

Kod:
Private Sub ComboBox5_Change()

Call ComboBox6_Change

End Sub
Üstat eline sağlık listview filtre olayı harika olmuştur. Sayfaya aktarma kodu içinde bir düzenleme mümkün olur mu?
C++:
Call BAGLANTI
Set rs = CreateObject("ADODB.Recordset")
abone_sec = ComboBox5.Value
strSQL = "SELECT IlceAdi,birim_adi,abone_no,fatura_no,isletme_kodu,carpan,ilk_endex,son_endex,sarfiyat,ilk_okuma,son_okuma,Format(fatura_tarihi, 'mmmm yyyy') ,fatura_tutari " & _
             "FROM fatura " & _
             "WHERE abone_adi='" & abone_sec & "' "
           rs.Open strSQL, baglan, 1, 1
s1.Range("b3").CopyFromRecordset rs
rs.Close
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,110
Excel Vers. ve Dili
Office 2013 İngilizce
Üstat eline sağlık listview filtre olayı harika olmuştur. Sayfaya aktarma kodu içinde bir düzenleme mümkün olur mu?
C++:
Call BAGLANTI
Set rs = CreateObject("ADODB.Recordset")
abone_sec = ComboBox5.Value
strSQL = "SELECT IlceAdi,birim_adi,abone_no,fatura_no,isletme_kodu,carpan,ilk_endex,son_endex,sarfiyat,ilk_okuma,son_okuma,Format(fatura_tarihi, 'mmmm yyyy') ,fatura_tutari " & _
             "FROM fatura " & _
             "WHERE abone_adi='" & abone_sec & "' "
           rs.Open strSQL, baglan, 1, 1
s1.Range("b3").CopyFromRecordset rs
rs.Close
Bence Listview üzerine gelen hazır verileri buradan sayfaya aktarmayı deneyim denir.
aşağıdaki gibi kodu uğraşırsanız çözeceğinize inanıyorum.

Kod:
for i=1 to  ListView1.ColumnHeaders.Count

s1.Range("b" & i) = ListView1.List ...........................

next i
 
Üst