Skip to main content

AccessTr.neT


Modülden kontrol ve setfocus sorunu

Modülden kontrol ve setfocus sorunu

Çözüldü #1
Merhaba. 10 a yakın formları olan bir veri tabanım var.Hemen hemen tüm formlarda benzer metin kutuları var. Bu denetimlerin boş olup olmadığını vb dan kontrol ediyorum.
Ancak her form için aynı denetimi yapmaktansa tek yerde yazıp tüm denetimlerde kullanmak istiyorum.Böylece gereksiz yere aynı kontrolu defalarca yazmamış olurum. Vba da yazılan kodda sorun yok Cancel as integer ifadesiyle boş olan denetimden çıkılmamasını sağlayabiliyoruz. Ancak modülde yazılan kodda msgboxtan sonra setfocus yapamıyorum. Bunu nasıl çözerim. Modülmü kullanmak makromu kullanmak daha sağlıklı?
örnek dosya ektedir.(Access 2010)

focus.rar

Public Sub Kontrol()
Dim cancel As Integer
If IsNull(sayi) Or IsEmpty(sayi) Then
MsgBox ("bir sayi giriniz")
Screen.ActiveForm.ActiveControl.SetFocus /Bu kod çalışmıyor.
End If
End Sub


Son Düzenleme: 16/03/2012, 10:08, Düzenleyen: juphen.
Cevapla
Çözüldü #2
Makroları unutun makro ile neredeyse hiç bir konuda bir yere varamazsınız. Örnek dosyanızı indirdim ancak mesajınızda ayrıntı vermediğinizi fark ettim.

Dosyada denetim isimli formda toplam alanına girince Msgbox komutu ile uyarı vermişsiniz. Alandan çıkınca bir uyarı vermiyor. Bu tip zorunlu alan uygulamalarında çalışma mantığı olarak yanlış ibr yöntem izliyorsunuz. Alana girince uyarı vermek yerine "Kaydetme" aşamasında zorunlu alanları kontrol ettirmeniz yerinde olacaktır. Eğer zorunlu alanlardan doldurulmamış alan var ise kayıt işlemini iptal edip, uyarı verdirip o alana odaklayabilirsiniz.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
Çözüldü #3
ekteki dosya küçük bir örnekti. Burda sayı alanından çıkınca boş denetimi yapmak istiyorum. sayi alanı boşsa mesaj verip sayı alanına geri dönsün istiyorum. Formun vb kaynağında rahatlıkla bunu yapıyorum.
ek örnek dosyada denetimler istediğim gibi yapılıyor. Ancak ana dosyamda birçok form ve bu fromlar üzerinde birbirine benzer birçok denetim var ve her denetim için aynı kodu yazmak zorunda kalıyorum. O yüzden Kontrol modülü şeklinde bir modülden benzer denetimler için tek kod yazıp denetimleri yapabilirmiyim.
Kaydettikten sonra denetim yapmayı bende düşündüm. Ancak otomatik sayı alanı önemli yani forma girildikten sonra otomatik sayı veriyor ve vazgeçildiğinde bir sonraki sayıdan devam ediyor. Bu da sıralamayı bozuyor.
focus.rar
Son Düzenleme: 16/03/2012, 15:40, Düzenleyen: juphen.
Cevapla
Çözüldü #4
Biraz acele ile oldu ama işini görecektir. Sadece Sayi isimli deneyim ve Açılan Kutu için ayarladım siz kendinize göre alanları seçebilirsiniz.
.rar Boş_Alan_Kontrolü_Fonksiyonu.rar (Dosya Boyutu: 24,58 KB | İndirme Sayısı: 19)
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
Çözüldü #5
Emeğinize sağlık ama ben denetimden çıkıldığında denetim yapılsın mesajdan sonra da o denetime odaklansın istiyorum. Modulden setfocus yapılamıyorsa denetimin çıkıldığında olayında kod yazmak daha mantıklı gibi.
Cevapla
Çözüldü #6
İstediğiniz böyle birşey mi?

mk70_focus.zip
mk70, 18-02-2010 tarihinden beri AccessTr.neT üyesidir.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task