textbox arama textbox süzme

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,191
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
O komut satırı ComboBox nesnesine yazılan veriyi büyük harfe çevirmektedir. Yani duyarlılığı ortadan kaldırmaktadır. Aynı zamanda ADO uygulamasında i-I harfleri sıkıntı çıkardığı için bu sorunu aşmak adına kullanmıştım.

Siz sorgu satırını aşağıdaki gibi değiştirip deneyebilirsiniz.

C++:
Kayit_Seti.Open "Select Distinct F3 From [xVeri$A2:C] Where StrComp(Left(F3,Len('" & TextBox3 & "')),'" & TextBox3 & "',0)=0" & " Order By F3 Asc", Baglanti, 1, 1
 

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
511
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
O komut satırı ComboBox nesnesine yazılan veriyi büyük harfe çevirmektedir. Yani duyarlılığı ortadan kaldırmaktadır. Aynı zamanda ADO uygulamasında i-I harfleri sıkıntı çıkardığı için bu sorunu aşmak adına kullanmıştım.

Siz sorgu satırını aşağıdaki gibi değiştirip deneyebilirsiniz.

C++:
Kayit_Seti.Open "Select Distinct F3 From [xVeri$A2:C] Where StrComp(Left(F3,Len('" & TextBox3 & "')),'" & TextBox3 & "',0)=0" & " Order By F3 Asc", Baglanti, 1, 1

Denedim ama olmadı, örneğin TRENDYOL ve trendyol şeklinde iki farklı satırı büyük küçük harfe göre tek tek gösteriyor.

İncelemek, faydalanmak isteyen olursa diye dosyanın son halini de ekliyorum.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,191
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Son önerdiğim satır büyük-küçük harf duyarlı arama yapar. Yani sizin verdiğiniz örnek ifadeleri farklıymış gibi dikkate alır.

Eğer siz büyük-küçük harf duyarsız arama yapsın diyorsanız zaten kodu ilk hali bu şekilde arama yapması gerekiyor.
 

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
511
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
Son önerdiğim satır büyük-küçük harf duyarlı arama yapar. Yani sizin verdiğiniz örnek ifadeleri farklıymış gibi dikkate alır.

Eğer siz büyük-küçük harf duyarsız arama yapsın diyorsanız zaten kodu ilk hali bu şekilde arama yapması gerekiyor.

Pardon , şöylesi garip bir durum varmış yeni farkettim. excel kitabını kapatıp açıyorum ve herhangi bir aratma yapıyorum. İlk aratmada dediğiniz gibi. Ama sonraki aratmalarda büyük harf ise büyük ile başlayanları, küçük harf ise küçük harf ile başlayanları listelemekte. Yanlış anlamadıysam böyle.
 

Ekli dosyalar

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
511
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
Aşağıdaki adımları takip ediniz.

Önerdiğim yöntemde her harfe bastığınızda arama yapacaktır. Belki bu yöntem size kullanışsız gelebilir. Dilenirse bu işlem butona atanabilir. Böylece aramak istediğiniz veriyi yazıp butona tıkladığınızda arama işlemi yaptırılabilir. Ya da tamamen başka bir mantık kurulabilir.

Aşağıdaki adımları uygulayıp formu çalıştırıp ve denemeler yapınız

Boş bir modülün en üst satırına aşağıdaki kod satırını yazınız.

C++:
Public Kontrol As Boolean
UserForm3'ün kod bölümündeki kodların hepsini silin ve aşağıdaki kodu uygulayınız.

C++:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Kontrol = True
    UserForm4.ActiveControl = ListBox1.Value
    Unload Me
End Sub

Private Sub ListBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then
        Kontrol = True
        UserForm4.ActiveControl = ListBox1.Value
        Unload Me
    ElseIf KeyCode = 27 Then
        Unload Me
    End If
End Sub

Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 27 Then Unload Me
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    Kontrol = False
End Sub
UserForm4'ün kod bölümündeki kodların hepsini silip aşağıdaki kodu uygulayınız.

C++:
Option Explicit

Private Sub Textbox3_Change()
    Dim Baglanti As Object, Kayit_Seti As Object
 
    If Kontrol = True Then Exit Sub
 
    Set Baglanti = CreateObject("AdoDb.Connection")
    Set Kayit_Seti = CreateObject("AdoDb.Recordset")
 
    If TextBox3 <> "" Then
        Baglanti.Open "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" & _
        ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;Hdr=No"""
     
        Kayit_Seti.Open "Select Distinct F3 From [xVeri$A2:C] Where F3 Like '" & TextBox3 & "%'" & " Order By F3 Asc", Baglanti, 1, 1
     
        If Kayit_Seti.RecordCount > 0 Then
            UserForm3.ListBox1.Column = Kayit_Seti.GetRows
            UserForm3.Show
        End If
 
        Baglanti.Close
    End If

    Set Baglanti = Nothing
    Set Kayit_Seti = Nothing
End Sub

Korhan Bey, vermiş olduğunuz kod içine şöylesi bir ekleme yapmak istiyorum. B sütünu numara, C sütunu ünvan, B textbox2, C textbox3, textbox2 de seçim yaptıktan sonra textbox3 dolsun, ya da textbox3 seçilirse textbox2 dolsun. Bunu kendim yapabilirim diye dile getirmemiştim. Normal if yapısı ve vlookup ile benim yağma şansım varmı, yoksa sizin kod içerikleri buna mani mi olur. Bazı denemeler yaptım olmadı. Sizden son olarak bu konuda destek rica edebilir miyim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,191
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
ADO yönteminde Türkçe karakter sorununu maalesef aşamadım. Yaptığım araştırmalarda bunun genel bir sorun olduğu yönündedir.

Bu sebeple bu yöntem yerine farklı bir yöntem kullanırsak daha efektif olacaktır.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,191
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Paylaştığınız son dosyada ünvanlar benzeştiği için ünvandan vergi no bulmak sorun olur. Kaynak olarak benzersiz bir alanı temel almanız daha sağlıklı olacaktır. sonrasında VLOOKUP ya da FIND yöntemi kullanılarak istenen veri istenen yere alınır-aktarılır.
 

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
511
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
ADO yönteminde Türkçe karakter sorununu maalesef aşamadım. Yaptığım araştırmalarda bunun genel bir sorun olduğu yönündedir.

Bu sebeple bu yöntem yerine farklı bir yöntem kullanırsak daha efektif olacaktır.
Şöyleki, ka
Paylaştığınız son dosyada ünvanlar benzeştiği için ünvandan vergi no bulmak sorun olur. Kaynak olarak benzersiz bir alanı temel almanız daha sağlıklı olacaktır. sonrasında VLOOKUP ya da FIND yöntemi kullanılarak istenen veri istenen yere alınır-aktarılır.

,
Paylaştığınız son dosyada ünvanlar benzeştiği için ünvandan vergi no bulmak sorun olur. Kaynak olarak benzersiz bir alanı temel almanız daha sağlıklı olacaktır. sonrasında VLOOKUP ya da FIND yöntemi kullanılarak istenen veri istenen yere alınır-aktarılır.
Son iki mesajınıza istinaden;

Karekter olayını , sadece büyük harf kullanarak çözebilirim sanırım. Açıkcası çok dert etmiyorum bunu.

Yüklemiş olduğum dosya ise sadece örnek, asıl işlemler benzersiz ifadelerden oluşacak. ADO olayı ile ilgili hiç bilgim olmadığı için kodlarınızdan şuan için bir anlam çıkaramadım. Bana ilgili kodu yazabilir misiniz, ya da kodun hangi aralığa yerleşmesi gerektiğini belirtebilir misiniz. Aralığı en azından bilirsem onaa göre kendim halletmeye çalışırım.
 
Üst