AccessTr.neT
Metin Kutuları - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Metin Kutuları (/konu-metin-kutulari.html)



Metin Kutuları - zaferlacin - 27/02/2020

birden fazla metin kutusunu aynı anda kontrol edip Hangisi Boş ise o metin kutusunu boş olduğunu tek mesajda bildirebilir miyim?
örneğin
mesaj = adı, soyadı, kimlik,...... alanları boş
  gibi

teşekkür ederim


Cvp: Metin Kutuları - zaferlacin - 27/02/2020

Kod:
Dim ctrl As Control
Dim a As String
a = ""
For Each ctrl In Me.Controls
 
  ' If ctrl.Tag = "bosmu" And IsNull(ctrl) Or Nz(ctrl, "") = "" Then
    If ctrl.Tag = "bosmu" And IsNull(ctrl) Then
        a = a & vbCrLf & "  " & ctrl.Controls(0).Caption
     End If
    Next
    If Not a = "" Then
     MsgBox (" AŞAĞIDAKİ ALANLAR BOŞ BIRAKILMIŞ...." & vbCrLf & vbCrLf & a)
    Else
  
    End If

Olarak çözümledim


Cvp: Metin Kutuları - feraz - 28/02/2020

Kod:
Private Sub Komut62_Click()
   
    Dim i As Byte
    Dim a As String
    Dim arr1, arr2
   
    arr1 = Array("Adi", "Soyadi", "Kimlik", "il", "ilce", "Mahalle")
    arr2 = Array("Metin1", "Metin2", "Metin3", "Metin72", "Metin74", "Metin71")
   
   
    For i = LBound(arr2) To UBound(arr2)
        If Me.Controls(arr2(i)) = "" Or IsNull(Me.Controls(arr2(i)) = "") Then
            a = a & arr1(i) & vbNewLine
        End If
    Next
   
    MsgBox "AÞAÐIDAKÝ ALANLAR BOÞ BIRAKILMIÞ...." & vbNewLine & "-----------------" & vbNewLine & a
    Erase arr1
    Erase arr2
End Sub




Cvp: Metin Kutuları - feraz - 28/02/2020

Yada her metşn kutusunun Tag ını yazarsanız alttaki kod ilede olur.

Kod:
Private Sub Komut62_Click()
   
    Dim i As Integer
    Dim a As String
    Dim arr
   
    arr = Array("Metin1", "Metin2", "Metin3", "Metin72", "Metin74", "Metin71")
   
    For i = LBound(arr) To UBound(arr)
        If Me.Controls(arr(i)) = "" Or IsNull(Me.Controls(arr(i)) = "") Then
            a = a & Me.Controls(arr(i)).Tag & vbNewLine
        End If
    Next
 
    MsgBox "AÞAÐIDAKÝ ALANLAR BOÞ BIRAKILMIÞ...." & vbNewLine & "-----------------" & vbNewLine & a
    Erase arr

End Sub




Cvp: Metin Kutuları - feraz - 28/02/2020

Alttaki kod ilede olur.


Kod:
Private Sub Komut62_Click()
   
    Dim ctrl As Control
    Dim a As String
   
    For Each ctrl In Me.Controls
        If ctrl.ControlType = acTextBox Then
            If ctrl = "" Or IsNull(ctrl) Then
                a = a & ctrl.Tag & vbNewLine
            End If
        End If
    Next
 
    MsgBox "AÞAÐIDAKÝ ALANLAR BOÞ BIRAKILMIÞ...." & vbNewLine & "-----------------" & vbNewLine & a

End Sub




Cvp: Metin Kutuları - alicimri - 28/02/2020

Fonksiyonel sıra ile kontrol yapıp uyarı veren kod aşağıda.
Kod:
Private Sub Komut0_Click()
Dim txt As Control
For Each txt In Me.Controls
If txt.ControlType = 109 Then
If IsNull(txt.Value) Then
MsgBox txt.Name & " Boş."
txt.SetFocus
Exit For
End If
End If
Next
End Sub