الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

التحقق من استكمال الحقول في النموذج الفرعي

بدأه Lamyaa في 6 نوفمبر 2016 · 2 رد · 596 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

 

استخدم هذه الكود للتحقق من تعبئة البيانات في الحقول المطلوبة .. وذلك بتغيير خاصية Tag (العلامة) للحقل المراد بوضع كلمة مطلوب مثلاً

    Dim Ct As control
        For Each Ct In Me
            If Ct.Tag = "ãØáæÈ" Then
            If Not IsNull(Ct) Or Ct <> "" Then
                Ct.BackColor = vbWhite
                End If
            If IsNull(Ct) Or Ct = "" Then
            MsgBox "íÑÌì ÇÓÊßãÇá ÌãíÚ ÇáÍÞæá ÇáãØáæÈÉ ÇÖÛØ ãæÇÝÞ ááÇäÊÞÇá ááÍÞá ÇáãØáæÈ", vbMsgBoxRight + vbMsgBoxRtlReading, "ÎØÃ"
               Ct.SetFocus
               Ct.BackColor = VBred
               Exit Sub
                End If
            End If
        Next Ct

وهو يعمل بشكل رائع ..

ولكن السؤال هنا .. كيف يمكن أن أحول هذا الكود ليتحقق من تعبئة حقل موجود في نموذج فرعي

subform.accdb

post-252239-064955400%201356690312.gif
#2

وعليكم السلام ورحمة الله وبركاته

تفضل اخي الكريم التعديل المطلوب

Private Sub ÃãÑ15_Click()
    Dim Ct As Control, ctlsbf As Control
        For Each Ct In Me
            If Ct.Tag = "ãØáæÈ" Then
           
            
            If Not IsNull(Ct) Or Ct <> "" Then
                Ct.BackColor = vbWhite
                End If
            If IsNull(Ct) Or Ct = "" Then
            MsgBox "íÑÌì ÇÓÊßãÇá ÌãíÚ ÇáÍÞæá ÇáãØáæÈÉ ÇÖÛØ ãæÇÝÞ ááÇäÊÞÇá ááÍÞá ÇáãØáæÈ", vbMsgBoxRight + vbMsgBoxRtlReading, "ÎØÃ"
               Ct.SetFocus
               Ct.BackColor = &HC1C1FF
               Exit Sub
                End If
            End If
                            
                            If Ct.ControlType = acSubform Then
                             
                                For Each ctlsbf In Ct.Form.Controls
                                   
                                    If Not IsNull(ctlsbf) Then
                                   
                                               ctlsbf.BackColor = vbWhite
                                    End If
                                        If IsNull(ctlsbf) Then
                                            MsgBox "íÑÌì ÇÓÊßãÇá ÌãíÚ ÇáÍÞæá ÇáãØáæÈÉ ÇÖÛØ ãæÇÝÞ ááÇäÊÞÇá ááÍÞá ÇáãØáæÈ", vbMsgBoxRight + vbMsgBoxRtlReading, "ÎØÃ"
                                            ctlsbf.SetFocus
                                            ctlsbf.BackColor = &HC1C1FF
                                           Exit Sub
                                           End If
                               
                            
                            Next ctlsbf
                            End If
        Next Ct


 


End Sub

 

subform.rar

1▲ 1

عَـجِبْتُ لِمَنْ يَتَفَكَّـرُ فى مَـأْكُولِهِ كَيْـفَ لا يَتَفَـكَّـرُ فى مَعْـقُـولِهِ، فَيُجَنِّبُ بَطْنَهُ ما يُؤْذيهِ، وَ يُودِعُ صَدْرَهُ ما يُرْدِيهِ

(الحسن بن علي بن أبي طالب)

#3
إياد بيك كتب:

وعليكم السلام ورحمة الله وبركاته

تفضل اخي الكريم التعديل المطلوب

Private Sub ÃãÑ15_Click()
    Dim Ct As Control, ctlsbf As Control
        For Each Ct In Me
            If Ct.Tag = "ãØáæÈ" Then
           
            
            If Not IsNull(Ct) Or Ct <> "" Then
                Ct.BackColor = vbWhite
                End If
            If IsNull(Ct) Or Ct = "" Then
            MsgBox "íÑÌì ÇÓÊßãÇá ÌãíÚ ÇáÍÞæá ÇáãØáæÈÉ ÇÖÛØ ãæÇÝÞ ááÇäÊÞÇá ááÍÞá ÇáãØáæÈ", vbMsgBoxRight + vbMsgBoxRtlReading, "ÎØÃ"
               Ct.SetFocus
               Ct.BackColor = &HC1C1FF
               Exit Sub
                End If
            End If
                            
                            If Ct.ControlType = acSubform Then
                             
                                For Each ctlsbf In Ct.Form.Controls
                                   
                                    If Not IsNull(ctlsbf) Then
                                   
                                               ctlsbf.BackColor = vbWhite
                                    End If
                                        If IsNull(ctlsbf) Then
                                            MsgBox "íÑÌì ÇÓÊßãÇá ÌãíÚ ÇáÍÞæá ÇáãØáæÈÉ ÇÖÛØ ãæÇÝÞ ááÇäÊÞÇá ááÍÞá ÇáãØáæÈ", vbMsgBoxRight + vbMsgBoxRtlReading, "ÎØÃ"
                                            ctlsbf.SetFocus
                                            ctlsbf.BackColor = &HC1C1FF
                                           Exit Sub
                                           End If
                               
                            
                            Next ctlsbf
                            End If
        Next Ct


 


End Sub

 

subform.rar

جزيل الشكر والتقدير لك

بالفعل هو ما أردت

 

بارك الله فيك ووفقك

post-252239-064955400%201356690312.gif

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…