ADO İLE FİLTRELEME

Katılım
7 Mayıs 2019
Mesajlar
40
Excel Vers. ve Dili
Microsoft 2017
Visual Studio 2013-2014-2017-2019
Altın Üyelik Bitiş Tarihi
07/05/2024
Öncelikle merhabalar Ekte sundugum bi dosyam ado ile kapalı dosyadan istediğim verileri çekiyorum ancak verileri çekerken 8% karlılık altınıda filtrelemek istiyorum yardımcı olabilcek birileri varmıdır Örnek Dosyam ekdedir

ÖRNEK DOSYA
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Tam anlamadım.
Deneyiniz.:cool:
ActiveSheet.Range("$A$1:$I$322").AutoFilter Field:=7, Criteria1:="<=-0.08", _
Operator:=xlAnd
 
Katılım
7 Mayıs 2019
Mesajlar
40
Excel Vers. ve Dili
Microsoft 2017
Visual Studio 2013-2014-2017-2019
Altın Üyelik Bitiş Tarihi
07/05/2024
Tam anlamadım.
Deneyiniz.:cool:
ActiveSheet.Range("$A$1:$I$322").AutoFilter Field:=7, Criteria1:="<=-0.08", _
Operator:=xlAnd
Bunu denemiştim tam olarak istediğimi vermiyor kod bloğunu paylasayım ordan bakın birde
 
Katılım
7 Mayıs 2019
Mesajlar
40
Excel Vers. ve Dili
Microsoft 2017
Visual Studio 2013-2014-2017-2019
Altın Üyelik Bitiş Tarihi
07/05/2024
Kod:
Sub Vericek()
    Dim Con As Object, Rs As Object, Sorgu As String
    Set Con = CreateObject("AdoDB.Connection")
    Set Rs = CreateObject("AdoDB.RecordSet")
    Con.Open "Provider=Microsoft.Ace.Oledb.12.0;Data Source=" & ThisWorkbook.Path & "\YENİ TPR ÇALIŞMA.xlsx" & _
    ";Extended Properties=""Excel 12.0;Hdr=yes"""
    Sorgu = "Select TARİH, KOD,[CARİ HESAP ÜNVANI],[STOK KODU],[STOK AÇIKLAMASI],[NET BİRİM FİYAT],[KAR %],[ÖNCEKİ ALIŞ TARİHİ],[ÖNCEKİ ALIŞ] From [SİP TPR$]"
    Rs.Open Sorgu, Con, 1, 1
    Range("A2").CopyFromRecordset Rs
    Rs.Close: Con.Close
    Sorgu = vbNullString: Set Rs = Nothing: Set Con = Nothing
    
End Sub
bu kod satırında Kar % de 8%'nin altındakileri getirsin istiyorum sadece
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,644
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Merhaba,

Altın üye olarak forum üzerinden de örnek dosyanızı paylaşabilir misiniz.
Çıkan sonucu mu filtrelemek istiyorsunuz?
 
Katılım
7 Mayıs 2019
Mesajlar
40
Excel Vers. ve Dili
Microsoft 2017
Visual Studio 2013-2014-2017-2019
Altın Üyelik Bitiş Tarihi
07/05/2024

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Buyurun.:cool:
Kod:
Sub Ado_Kapalı()
    Dim Con As Object, Rs As Object, Sorgu As String
    Range("A2:I" & Rows.Count).ClearContents
    Set Con = CreateObject("AdoDB.Connection")
    Set Rs = CreateObject("AdoDB.RecordSet")
    Con.Open "Provider=Microsoft.Ace.Oledb.12.0;Data Source=" & ThisWorkbook.Path & "\YENİ TPR ÇALIŞMA.xlsx" & _
    ";Extended Properties=""Excel 12.0;Hdr=yes"""
    Sorgu = "Select TARİH, KOD,[CARİ HESAP ÜNVANI],[STOK KODU],[STOK AÇIKLAMASI],[NET BİRİM FİYAT],[KAR %],[ÖNCEKİ ALIŞ TARİHİ],[ÖNCEKİ ALIŞ] From [SİP TPR$] where [KAR %] <=-0.08"
    Rs.Open Sorgu, Con, 1, 1
    Range("A2").CopyFromRecordset Rs
    Rs.Close: Con.Close
    Sorgu = vbNullString: Set Rs = Nothing: Set Con = Nothing
     Range("A1").Select
  End Sub
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,644
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Evren bey'in çözümü istediğiniz gibi olmazsa örnek dosyanızı forum üzerinden eklerseniz bakabilirim.
İnternet filtresinden dolayı eklediğiniz linke giremiyorum.
Ayrıca excel' de filtre edilince sonuçlar gizlenir. Siz hiç gelmesini istemiyorsunuz.
Filtre ifadesi istediğinizi anlatmıyor. Sonraki mesajlarınızda isteğinizi daha net anlatmışsınız.
 
Katılım
7 Mayıs 2019
Mesajlar
40
Excel Vers. ve Dili
Microsoft 2017
Visual Studio 2013-2014-2017-2019
Altın Üyelik Bitiş Tarihi
07/05/2024
Buyurun.:cool:
Kod:
Sub Ado_Kapalı()
    Dim Con As Object, Rs As Object, Sorgu As String
    Range("A2:I" & Rows.Count).ClearContents
    Set Con = CreateObject("AdoDB.Connection")
    Set Rs = CreateObject("AdoDB.RecordSet")
    Con.Open "Provider=Microsoft.Ace.Oledb.12.0;Data Source=" & ThisWorkbook.Path & "\YENİ TPR ÇALIŞMA.xlsx" & _
    ";Extended Properties=""Excel 12.0;Hdr=yes"""
    Sorgu = "Select TARİH, KOD,[CARİ HESAP ÜNVANI],[STOK KODU],[STOK AÇIKLAMASI],[NET BİRİM FİYAT],[KAR %],[ÖNCEKİ ALIŞ TARİHİ],[ÖNCEKİ ALIŞ] From [SİP TPR$] where [KAR %] <=-0.08"
    Rs.Open Sorgu, Con, 1, 1
    Range("A2").CopyFromRecordset Rs
    Rs.Close: Con.Close
    Sorgu = vbNullString: Set Rs = Nothing: Set Con = Nothing
     Range("A1").Select
  End Sub
Tam getirmiyor malesef verileri sanırsam bir yerinde hata var ya da ben yanlış anlattım Dosyaları yüklüyorum öyle daha anlasılır olucak sanırsam
 
Katılım
7 Mayıs 2019
Mesajlar
40
Excel Vers. ve Dili
Microsoft 2017
Visual Studio 2013-2014-2017-2019
Altın Üyelik Bitiş Tarihi
07/05/2024
Evren bey'in çözümü istediğiniz gibi olmazsa örnek dosyanızı forum üzerinden eklerseniz bakabilirim.
İnternet filtresinden dolayı eklediğiniz linke giremiyorum.
Ayrıca excel' de filtre edilince sonuçlar gizlenir. Siz hiç gelmesini istemiyorsunuz.
Filtre ifadesi istediğinizi anlatmıyor. Sonraki mesajlarınızda isteğinizi daha net anlatmışsınız.
Söyle anlatayım Ben bütün verileri eksiz alıyorum normal filtrele seçeneğinde küçüktür veya eşittir filtresi olan 8% altındaki verileri o getiriyor ama ben bunu ado ile yapmak istiyorum istediğim bu
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Söyle anlatayım Ben bütün verileri eksiz alıyorum normal filtrele seçeneğinde küçüktür veya eşittir filtresi olan 8% altındaki verileri o getiriyor ama ben bunu ado ile yapmak istiyorum istediğim bu
Ado ile yaptım.Filtreyi sql cümlesinde yazdım:Hepsini getirmez.-0,08 altında olanları getirir.:cool:
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Koddaki yeri aşağıdaki ile değiştirin.:cool:
Kod:
where [KAR %] <=0.08"
 
Katılım
7 Mayıs 2019
Mesajlar
40
Excel Vers. ve Dili
Microsoft 2017
Visual Studio 2013-2014-2017-2019
Altın Üyelik Bitiş Tarihi
07/05/2024
Kod:
Sub Vericek()
    Dim Con As Object, Rs As Object, Sorgu As String
    Set Con = CreateObject("AdoDB.Connection")
    Set Rs = CreateObject("AdoDB.RecordSet")
    Con.Open "Provider=Microsoft.Ace.Oledb.12.0;Data Source=" & ThisWorkbook.Path & "\YENİ TPR ÇALIŞMA.xlsx" & _
    ";Extended Properties=""Excel 12.0;Hdr=yes"""
    Sorgu = "Select TARİH, KOD,[CARİ HESAP ÜNVANI],[STOK KODU],[STOK AÇIKLAMASI],[NET BİRİM FİYAT],[KAR %],[ÖNCEKİ ALIŞ TARİHİ],[ÖNCEKİ ALIŞ] From [SİP TPR$]"
    Rs.Open Sorgu, Con, 1, 1
    Range("A2").CopyFromRecordset Rs
    Rs.Close: Con.Close
    Sorgu = vbNullString: Set Rs = Nothing: Set Con = Nothing
    Range("A1").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$I$322").AutoFilter Field:=7, Criteria1:="<=8%", _
        Operator:=xlAnd
    
End Sub
Peki Sayın Evren Bey Ben Altına bu filtreleme methodunu eklediğimde istediğim sonucu alıyorum sizinde bir kaçını eksik veriyor sebebini anlamamda bana yardımcı olurmusunuz
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Eksik veriyor dediklerinizden bir kaç tane buraya yazarmısınız?
 
Üst