AccessTr.neT

Tam Versiyon: Bir metin içinde aradığınız bir kelimeyi bulma
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Bir metin içinde aradığınız bir kelimeyi bulmaya ve o kelimeyi işaretlemeye yarayan örnek bir kodlar:

’Forma Bul adında bir buton ve Metin adında bir textbox yerleştirin

Option Explicit
Dim ArananKelime As String
Dim KelimeninYeri, AramayaBasla As Integer


Private Sub Bul_Click()
ArananKelime = InputBox("Metin içinde aradığınız kelimeyi giriniz:", Bul, ArananKelime)
’Aranacak kelimeyi soruyoruz..
AramayaBasla = Metin.SelStart + Metin.SelLength
’Aramayı metin içersinde işaretçinin bulunduğu karakterden başlatacağız..
If AramayaBasla = 0 Or AramayaBasla = Len(Metin.Text) Then AramayaBasla = 1
’Eğer işaretçi sonda veya başta ise aramayı bütün metin içerisinde yapacağız..
KelimeninYeri = InStr(AramayaBasla, Metin.Text, ArananKelime, vbTextCompare)
’instr ile kelimenin metin içerisinde başladığı yeri alacağız..
If KelimeninYeri = 0 Then
MsgBox "Metin içinde böyle bir kelime yok"
Else
Metin.SetFocus
Metin.SelStart = KelimeninYeri - 1
Metin.SelLength = Len(ArananKelime)
’Aranan kelimeyi seçtireceğiz..
...?????........
olmuyo bende hata veriyo
offf hep hata veriyo
Bu veri tabanından mı buluyor Daha ayrıntılı belirtirseniz cok daha iyi olur . Bide kodları Kod komudu kullanarak forma yazarsanız karışıklıgı önlemiş olursnuz.. İyi günler.
Hata vermesi normal çünkü hatalı.. Kontrol edilmeden kopyala - yapıştır mantığı ile paylaşılmış bir kod.. Öyle olduğu halde bile eksik kopyalanmış.. ;)

Bu prosedur; textbox gibi bir denetim içerisindeki (bir kaç kelimelik cümleden oluşan metinler için daha mantıklı) veriler içerisinde istenilen bir parçayı bulur ve imleci o bölüme odaklar..

Düzeltilmiş hali aşağıdaki gibidir..:

Dim ArananKelime As String
Dim KelimeninYeri, AramayaBasla As Integer
'Denetim_Adı yerine arama yapacağınız denetimin ismini yazınız veya bir değişkene atayınız..
ArananKelime = InputBox("Metin içinde aradığınız kelimeyi giriniz:", Bul, ArananKelime)
Denetim_Adı.SetFocus
AramayaBasla = Denetim_Adı.SelStart + Denetim_Adı.SelLength
If AramayaBasla = 0 Or AramayaBasla = Len(Denetim_Adı.Text) Then AramayaBasla = 1
KelimeninYeri = InStr(AramayaBasla, Denetim_Adı.Text, ArananKelime, vbTextCompare)
If KelimeninYeri = 0 Then
MsgBox "Metin içinde böyle bir kelime yok"
Else
Denetim_Adı.SetFocus
Denetim_Adı.SelStart = KelimeninYeri - 1
Denetim_Adı.SelLength = Len(ArananKelime)
End If


Bir düğmenin olayında kullanabilirsiniz..
Sn Taruz verdiğiniz bilgi ve paylaşım için teşekkürler. Saygılar...