(21-08-2010, 16:23)kakali demiş ki:(21-07-2009, 18:52)Taruz demiş ki: Merhaba..
Bu kontrol için kullanışlı olabilecek bir kod hazırladım.. Formdaki tüm metin ve açılan kutuları kontrol edip boş varsa uyarıp sayısı verir.. Herhangi bir olay yordamına bağlayarak kullanabilrsiniz..
Kod:Sub kontrol()
Dim ctl As Control
Dim trz As String
trz = 0
For Each ctl In Me.Form.Controls
Select Case ctl.ControlType
Case acTextBox
If IsNull(ctl) Then trz = trz + 1
Case acComboBox
If IsNull(ctl) Then trz = trz + 1
End Select
Next
If trz > 0 Then
MsgBox trz & " tane doldurmanız gereken alan var!!", vbCritical, "Access-SQL"
End If
End Sub
Usta Allah razı olsun. yaklaşık 30 tane alanımın olduğu bir kayıt formum var ve bu alanlara bir türlü boş geçmeme kontrolunü yapamıyordum. Verdiğin kod çok bomba oldu.
Usta aslında arkadaş belirtmiş ama atlamışsın galiba. boş kalan alanların isimlerinide mesaj kutusunda yazsa dahada bomba olacak. hangisi diye karışık formda aramayacaz. olmazsada sağol. bu bile yeter.
Ustanın kodunda nacizane bi değişiklik yaptım. Sub'ı Function'a dönüştürüp elde ettiğim true false değerini kontrol için kullanıyorum. Boş kalan alanın adını da içeren bir mesaj veriyor. Üstelik Formunuzda kaç kontrol olursa olsun oldukça kullanışlı. Tel satır kodla kontrolü yapabilirsiniz.
Function kontrol()
Dim ctl As Control
'Dim trz As String
'trz = 0
For Each ctl In Me.Form.Controls
Select Case ctl.ControlType
Case acTextBox, acComboBox
If IsNull(ctl) Or ctl = "" Then
ctl.SetFocus
MsgBox ctl.Name & " alanına bilgi girilmedi. Eksik bilgi bi işe yaramaz!"
kontrol = False
Exit Function
Else
End If
Case Else
End Select
Next
'If trz > 0 Then
' MsgBox trz & " tane doldurmanız gereken alan var!!", vbCritical, "Access-SQL"
kontrol = True
' End If
End Function
