Konu Araçları | Konu Seçenekleri | Gösterim Stili
onur_can
Tarih
21/11/2008 01:06
Konu Sahibi
onur_can
Yorumlar
5
Okunma
3824
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy
onur_can

onur_can

Üye
Ah.... On....
 49
 8
 25
 08/11/2008
0
 Tokat
 Elektronik
 Ofis 2016 32 Bit
 16/03/2019,12:53
Çözüldü 
Arkadaşlar kolay gelsin ekte hazırlamış olduğum dosyada 1 metin kutusu 4 adet onay kutusu var ilk başta form açıldığında onay kutuları boş sorum Şu: 1.onay kutusunu işaretlediğimde metin kutusuna onay kutusunun etiketini yazması burda sorun yok ikinci onay kutusunu işaretlediğimde metin kutusuna hem 1. hemde 2.onay kutusunun etiketini yazacak. (1. ve 2.işaretli) Özetle şöyle diyebilirim hangi onay kutuları seçili ise metin kutusuna yan yana bu onay kutularının etiketlerini yan yana aralarında virgül olacak şekilde yazacak, hangisinide iptal edersem onu silecek.
yardımlarınız için teşekkürler...
kolay gelsin.


 İyi olan tek şey bilgi ve kötü olan tek şey de cehalettir. (Sokrates)



Web Site Hazırlama Rehberi

C*e*l*o*y*c*e

C*e*l*o*y*c*e

Uzman
Me.... B.....
 71
 3.204
 29/10/2008
988
 Ankara
 Yazılım
 Ofis 2010 32 Bit
 Bugün,19:57
Çözüldü 
arkadaşım eklemeyi yaptım ama çıkarmayı yapamadım,bundan gidebilirsin,ayrıca diğer hocalar mutlaka cevap vereciktir, kolay gelsin



mehmetdemiral

mehmetdemiral

Uzman
Me.... De....
 54
 218
 4.926
 30/10/2008
 Samsun
 Öğretmen
 Ofis 2013 32 Bit
 23/02/2019,21:53
Çözüldü 
Bence kodları şöyle değiştirin

Private Sub Onay0_Click()
If Onay0 Then
Metin2 = "Ali" & ","
Else
Me.Onay0.Requery
End If
End Sub

Private Sub Onay1_Click()
If Onay1 Then
Metin2 = (Metin2) & "Ahmet" & ","
Else
Me.Onay0.Requery
End If
End Sub

Private Sub Onay2_Click()
If Onay2 Then
Metin2 = (Metin2) & "Bahri" & ","
Else
Me.Onay1.Requery
End If
End Sub

Private Sub Onay3_Click()
If Onay3 Then
Metin2 = (Metin2) & "Mesut" & ","
Else
Me.Onay2.Requery
End If
End Sub


Böylece ilk olarak onay0 basılmazsa

,Ahmet

şeklinde yazılmasını önlersiniz. Virgül her zaman sona atılabilir. Ama başta olması çirkin olur

Bu arada çıkarma işlemi sanıldığı kadar basit değil. Mid komutuyla metin2 içindeki istenen değerin bulunması gerekiyor. Onayı kaldırılmak istenen değer ile metin2 içindeki değer karşılaştırılarak yakalnması gerekiyor. Şu andaüzerinde çalışıyorum. Halledebilirsim yollayacağım.


İnadına, ille de Accesstr.net...

onur_can

onur_can

Üye
Ah.... On....
 49
 8
 25
 08/11/2008
0
 Tokat
 Elektronik
 Ofis 2016 32 Bit
 16/03/2019,12:53
Çözüldü 
Arkadaşım Çook Teşekkürler, Ellerine sağlık,
Bu bilgiden yola çıkarak kalan kısmı tamamlamaya çalışacağım.
İyi Çalışmalar dilerim... Halay


 İyi olan tek şey bilgi ve kötü olan tek şey de cehalettir. (Sokrates)



Web Site Hazırlama Rehberi

mehmetdemiral

mehmetdemiral

Uzman
Me.... De....
 54
 218
 4.926
 30/10/2008
 Samsun
 Öğretmen
 Ofis 2013 32 Bit
 23/02/2019,21:53
Çözüldü 
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? Img-grin))


İnadına, ille de Accesstr.net...

mehmetdemiral

mehmetdemiral

Uzman
Me.... De....
 54
 218
 4.926
 30/10/2008
 Samsun
 Öğretmen
 Ofis 2013 32 Bit
 23/02/2019,21:53
Çözüldü 
Bu arada, değişkene aktarılacak değerin de alınacak bölüm ve alınmayacak bölüm olarak parçalanması lazım. Bunun için de mid komutunu kullanabiliriz. Tanımlanan a ve b değişkenlerine, alınmayacak olan az önceki mesajımda anlattığım kısım haricindekiler atanır. Mesela

Metin2 alanının içeriği ahmet,bahri,ali,mesut şeklinde sıralansın. Siz buradan ali'yi çıkartmak istediniz. O zaman yukarda anlattığım gibi, ali'nin başlangıç ve bitiş kısımlarını içermeyen bir aktarımla mid komutunu kullanarak a ve b değişkenlerine veri atarsınız.
teorik olarak şöyle bir şey:

a= mid (metin2, 1 , s)
b= mid(metin2, s , 21)
metin2= a & b
veya
metin2 = a + b

ok?


İnadına, ille de Accesstr.net...

Konu Kapalı
Konuyu Okuyanlar: 1 Ziyaretçi

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Çözüldü Bağımlı Değer Girişi dgnlrmehmet 6 128 12/04/2019, 17:57
Son Yorum: dgnlrmehmet
Çözüldü Benzer Değer Hk. serkan1985 2 127 29/03/2019, 14:22
Son Yorum: serkan1985
Çözüldü Liste Kutusu Yada Açılan Kutu Hakkında programmer67 6 195 26/03/2019, 15:21
Son Yorum: programmer67
Çözüldü Accessde Mail Gönderiminde Çıkan Mesaj Kutusu Hk. Yardım Mr.Midnight 8 269 19/02/2019, 22:30
Son Yorum: Mr.Midnight
Çözüldü Metin Kutusu Dikey Ortalama irfanxdemir 20 7.366 19/02/2019, 13:25
Son Yorum: dioxi

Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2019 MyBB Group.