VBA da Checkbox'ın işaretli olduğunu öğrenme

22/11/2013, 16:20

ersinalaca

Merhaba,

Access 'da çok yeniyim. Yüzlerce soracağım sorulardan ilkiyle başlayayım dedim
Forumdan indirdiğim bir örnekte 4 tane checkbox vardı. Tıkladığım onay kutusuna göre de bir etiketin caption özelliği değişsin istiyorum. Bunu Vba da yaparsanız durum böyle ama daha Access 'a başlayamadan böyle sorunlarla karşılaşmış olmam beni neredeyse vazgeçirecek.

Gelelim benim kurguladığım mantık olayına forumda zaten 4 tane checkbox olduğundan say değişkenine göre etiket atamak ama olmuyor. objeler.value değeri hiçbirzaman değişmiyor yani <Değeri olmayan bir ifade girdiniz.> ifadesi çıkıyor.

Sorum kısaca checkbox'ın işaretli olduğunu nasıl öğrenirim vb'da

Public Sub ARAUYARI()
On Error Resume Next
For Each objeler In Form.Controls
If objeler.ControlType = 106 Then 'Nesne bir checkboxsa
say = say + 1
If objeler.Value = 1 Then Exit Sub
End If
Next objeler
Select Case say
Case 1
Me.Etiket29.Caption = "Müşteri İsmine Göre Arama..."
Case 2
Me.Etiket29.Caption = "Müşteri Koduna Göre Arama..."
Case 3
Me.Etiket29.Caption = "Tarihe Göre Arama..."
Case 4
Me.Etiket29.Caption = "TC Numarasına Göre Arama..."
End Select
End Sub

Private Sub Onay1__GotFocus()
Call ARAUYARI
End Sub
.
.
.
23/11/2013, 00:11

mehmetdemiral

Çerçeve83'ün güncelleme sonrasında olayına

Select Case Çerçeve83
Case 1
Yapılacak işlem
case 2
Yapılacak işlem
Case 3
Yapılacak işlem
Case 4
Yapılacak işlem
end select

yazın. "Yapılacak işlem" yazan satırlara kodlarınız gelecek. Mesela denemek için ilk case satırından sonra oraya

msgbox "Çerçevede 1 tıklandı"
yazabilirsin.
25/11/2013, 00:20

ersinalaca

Cevabınız için teşekkürler, yani Vba daki gibi direkt nesnenin direkt üzerinden sonuç alamıyoruz. Bu microsoft gerçekten ilginç, birisinde oluyor diğerinde olmuyor.
25/11/2013, 01:18

alpeki99

evet ilginç bir durum ilk öğrenince bende şaşırmıştım.
25/11/2013, 01:34

mehmetdemiral

Ne demek istediğinizi anlayamadım. Sonuç olarak orada kullandığınız bir çerçeve nesnesi var ve içindeki her bir hareketi ana eleman olarak ondan alıyoruz. İçindeki objeler teker teker yanıt verseler bile bunu babalarına (yani çerçeveye) söylüyorlar. Ama tek tek onay kutuları yapıp kendiniz her bir elemanı tek tek kullanırsanız o zaman direkt nesne üzerinden sonuç alabilirsiniz.