Bir formda tüm verilerin girildiğini kontrol eden fonksiyo

Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Microsoft Access Form Alanlarında Veri Giriş Eksikliği
Eğer form alanlarının hepsinin tamamlanmadan kayıt işleminin gerçekleşmesini istemiyorsanız o zaman aşağıdaki kodlarla bir modül hazırlayıp, modüldeki fonksiyonu formun güncelleşmeden önce (BeforeUpdate) olay yordamından çağırın.

Kod:
Public Function VeriGerekli(ByVal TheForm As Form) As Boolean

'Bütün TextBox kontrollarını denetleyerk gerkli bütün verilerin girilip_ girilmediğini kontrol edin
    Dim Ctl As Control
    Dim Num As Integer
    
    On Error GoTo Err_VeriGerkli
    
    VeriGerekli = False
    Num = 0
    For Each Ctl In TheForm
        If Ctl.ControlType = acTextBox Then
            If Ctl = "" Or IsNull(Ctl) Then
                Num = 1
                Exit For
            End If
        End If
    Next Ctl
    If Num = 1 Then
        MsgBox Ctl.Name & "alanında veri eksikliği " & "," & vbCr & _
        "lütfen kontrol edin.", _
        vbInformation, "Veri gerekli..."
        VeriGerekli = True
    Else
        VeriGerekli = False
    End If

Exit_ VeriGerekli:

    On Error Resume Next
        If Not (Ctl Is Nothing) Then
            Set Ctl = Nothing
        End If
    Exit Function

Err_ VeriGerekli:

    Select Case Err
        Case 0
            Resume Next
        Case Else
            MsgBox "Hata: " & Err.Number & vbCrLf & vbCrLf & Err.Description, _
            vbInformation
    End Select

End Function
Þimdi aşağıdaki kod parçasını formun Güncelleşmeden Ã?nce (Before Update) olay yordamının altına yazın ki modüldeki fonksiyon işlesin.

Kod:
Private Sub Form_BeforeUpdate(Cancel As Integer)
    If VeriGerekli(Me) Then Cancel = -1
End Sub
 
Üst