Boş Textboxların Kontrolü

1 2 3 4 5 6 7 8 9 10 11 12
14/05/2020, 23:22

feraz

Buda hangisi boşsa onun adını mesaj verir ve o textboxa odaklanır.
Bu arada @berduş hocamıza katılıyorum artık öğrenme zamanınız geldi

Dim arr, i As Byte, say As Byte
    Dim arr2()
    arr = Array("TextBox1", "TextBox2")
   
    For i = LBound(arr) To UBound(arr)
        If Me.Controls(arr(i)) <> "" Then
            say = say + 1
            ReDim Preserve arr2(say)
            arr2(say) = arr(i)
        End If
    Next
   
    If say > 0 Then
        For i = 1 To UBound(arr2)
            Me.Controls(arr2(i)).SetFocus
            MsgBox "Dolu Textboxlar asagida:" & vbNewLine & "        " & Me.Controls(arr2(i)).Name
            Exit Sub
        Next
    Else
        MsgBox "Hepsi bos"
    End If
   
    Erase arr: Erase arr2
14/05/2020, 23:36

m_demir

Hocam yazdığınız kodları kendi kodlarıma ekleyemiyorum hata veriyor. 
Hocam Tasarım yapabiliyorum. Kodlardan hiç anlamıyorum yaş 61 bundan sonra kadar öğrenebilirim onuda bilmiyorum. 
Farkındayım çok emek sarf ediyorsunuz yardım etmek için. Ama hiç bir kod temeli olmayan bir insanında sizin yazdığınız kodlardan hiç bir şey anlamadığını bilmenizi istiyorum. Eklediğiniz kodları eklemeye çalışıyorum hata veriyor. Doğrusu doğru yere ekleyip eklemediği mi de bilmiyorum. İkinizde çok yordum bunun farkındayım. Konuyu taşıyabilirsiniz. Saygılarımla sağlıklı günler diliyorum.
14/05/2020, 23:39

berduş

O zaman şunu sorayım amacınız ne? Neden bu forumdasınız? Neden bu çalışmayı yapıyorsunuz?
14/05/2020, 23:40

feraz

Buda dictionary ile gördüğünüz gibi her yoldan oluyor abey.


Dim arr, i As Byte
    Dim scr As Object
    arr = Array("TextBox1", "TextBox2")
   
    Set scr = CreateObject("Scripting.Dictionary")
    For i = LBound(arr) To UBound(arr)
        If Me.Controls(arr(i)) <> "" Then
            scr(CStr(Me.Controls(arr(i)).Name)) = scr(CStr(Me.Controls(arr(i)).Name))
        End If
    Next
   
    If scr.Count > 0 Then
        For i = 0 To scr.Count - 1
        MsgBox scr.Keys()(i)
            Me.Controls(scr.Keys()(i)).SetFocus
            MsgBox "Dolu Textboxlar asagida:" & vbNewLine & "        " & Me.Controls(scr.Keys()(i)).Name
            Exit Sub
        Next
    Else
        MsgBox "Hepsi bos"
    End If
   
    Erase arr: Set scr = Nothing


14/05/2020, 23:41

m_demir

Hocam poroğramı kendi işyerimde kullanıyorum. Bazı eksiklikleri var tamamlatmak istedim.
14/05/2020, 23:44

berduş

Bu arada kodları hemen anlamanızi beklemiyoruz ama en azından "bu kod ne ise yariyor" tarzı bir soru sorabilirsiniz yada daha iyisi  kodlarla ilgili bir ön araştırma yapıp takıldığınız yeri sorabilirsiniz? Öğrenmenin en hızlı yolu arastirma yapip deneme/yanılma yöntemiyle ugrasmanizdir.
1 2 3 4 5 6 7 8 9 10 11 12