Yalnız dediğim gibi.. Görüldüğü kadar kadar olmayacak. Önce isterseniz kodları tek tek açıklayarak mantığını kuralım. Belki bizim ustalar da yardım ederler bize..
If Onay0 Then
'(eğer onay0 basıldıysa)
Metin2 = (Metin2) & "Ali" & ","
'(metin2'ye içeriğiyle bilikte "Ali," ekle)
Else
'(değilse)
For i = 1 To Len(Metin2)
'(metin2 değerini belirlenen yere kadar okumaya başla)
If Mid(Me.Metin2, i, Len("ali")) = "ali" Then
'(eğer metin2'nin içinde "ali" değeri bulunursa)
s = i
'(s değişkenini ali'nin bulunduğu sıraya (yani i'ye) ata)
End If
'(if işlemi bitsin)
Next
'(işleme dön)
MsgBox "burası başlangıç " & s
'(aranan değerin başlama sırası ekrana yazıldı)
m = Len("ali")
'("ali" isminin karakter sayısı toplamı(kaç karakterlik ilerlenecek diye))
MsgBox "burası da sonu " & m
'(aranan alanın bitiş karakter sırası ekranda)
End If
End Sub
Şimdi böylece ilk kutunun onayını kaldırdığınızda kaldırdığınız onay kutusunun gönderdiği değerin metin kutusu içindeki kaçıncı karakter sırasında başladığını ve len komutuyla aldığımız karakter kadar ilerde bittiğini öğrendik. "Ali" ismi diyelim Ahmet ve Bahri'den sonra yeralıyor. Bu durumda Ali'nin onayını kaldırdığınızda başlama noktası olarak 13 değeri gelecektir. Bu değer Ahmet(5)+virgül(1)+Bahri(5)+Virgül(1)=12 olduğuna göre Ali'nin 13 'den başladığı anlamına gelir. 13'ten sonra Ali ve virgül kadar (yani 4 karakter) ilerlenecek.
O halde metin2 değerini bir değişkene atarken bu alanı almayacağız. Yeni oluşan değişken de metin2'nin yerine geçerek güncellenmiş olacaktır. Tabii bu işlemi tüm onay kutuları için yapmak lazım. Ve her onay kalktığında alttan bu komutların çalışması ve metin2 alanını güncellemesi lazım..
Kolaymış değil mi?
))
İnadına, ille de Accesstr.net...