AccessTr.neT

Tam Versiyon: Textboxda arama kriteri hakında
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
arabul()
End Sub
Private Sub arabul()
Dim baglan As OleDb.OleDbConnection = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=tablolar.mdb;")
Dim adp As New OleDb.OleDbDataAdapter()
adp.SelectCommand = New OleDb.OleDbCommand("Select * From faaliyetkodlari", baglan)

baglan.Open()

Dim ds1 As New DataSet()
adp.Fill(ds1)

baglan.Close()

ListView1.Items.Clear()
For Each i As DataRow In ds1.Tables(0).Rows

If (i("Aciklama").ToString().StartsWith(TextBox1.Text)) Then
Dim item As New ListViewItem(i("Kod").ToString())
item.SubItems.Add(i("Aciklama").ToString())
ListView1.Items.Add(item)

End If
Next
End Sub

Bu kod Textbox1 e yazarak veritabanında arama yapabiliyorum.

Benim istediğim cümle içindeki kelimede ve büyük küçük harfe DUYARSIZ olarak arama yapması.

Örnek:

Aranacak kelime = "Muhasebe"

Arama Cümlesi(verilerimizdeki faaliyet açıklaması) = " Defter Tutma ve Buna Benzer Muhasebe,Muhasebeye Benzer İşler"



Şümdi ben Textbox1 e "muhasebe" yada "muh" yazdığımda bu satırı bana bulamıyacak, ben cümle veya cümleler içinde de arama yapmasını istiyorum.

Teşekkürler

Ek Dosyalar
 faaliyet kod.rar(170.69 KB)
Aşağıda kş şekilde yazarsanız size hazır veri gelir sizde ayrıca cümle içinde aramazsınız
Select * From faaliyetkodlari where aciklama like %muh% 
siz bu şekilde zaten bulabiliyormuşsunuz.

O zaman şu şekilde yapmalısınız.
Bu kalıp sizin aradığınız kısmı aradığınız metinde olup olmadığını belirler. Kod Vba için ama mantık VB.NET içinde aynı.

For i = 1 To Len(Me.ANAMETIN)

If Mid(Me.ANAMETIN, i, len(me.ARANANMETIN) ) = me.ARANANMETIN Then
Msgbox "Aranan Metin Pozisyonu : " & i

End If

Next


Private Sub arabul()
ListView1.Items.Clear()
Dim baglan As OleDb.OleDbConnection = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=tablolar.mdb;")
Dim adp As New OleDb.OleDbDataAdapter()
adp.SelectCommand = New OleDb.OleDbCommand("SELECT faaliyetkodlari.Kod, faaliyetkodlari.Aciklama FROM faaliyetkodlari WHERE faaliyetkodlari.Aciklama Like '%" & Me.TextBox48.Text & "%' ", baglan)
baglan.Open()
Dim ds1 As New DataSet()
adp.Fill(ds1)
baglan.Close()
Dim item As New ListViewItem
For Each row As DataRow In ds1.Tables(0).Rows
item = ListView1.Items.Add(row.Item("Kod"))
item.SubItems.Add(row.Item("Aciklama"))
Next
End Sub


Private Sub ListView1_ItemChecked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ItemCheckedEventArgs) Handles ListView1.ItemChecked
If (e.Item.Checked) Then
TextBox7.Text += e.Item.SubItems(0).Text.ToString() '& " - " & e.Item.SubItems(1).Text.ToString()
'Kayit.TextBox22.Text += e.Item.SubItems(1).Text.ToString()
End If
End Sub

Sorunu böyle aştım.