اذهب الي المحتوي
أوفيسنا

نقل التركيز الى السجل الاول بالنموذج بعد انهاء الحلقة التكرارية


kaser906

الردود الموصى بها

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

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

وعند إلانتهاء من إكمال الحلقة التكرارية يتوقف ( يتم التركيز ) على سجل جديد فارغ بنهاية النموذج

المطلوب  :

جعل الكود ينقل التركيز الى أول سجل بالنموذج بعد الانتهاء من عمله

        On Error Resume Next
        Me.Forme_Visitors2.SetFocus
        Forms![Forme_Fatora]![Forme_Visitors2]![PcDigtv2].SetFocus

        On Error GoTo 0
        DoCmd.GoToRecord , , acFirst
        
        For i = 0 To Me.Forme_Visitors2.Form.Recordset.RecordCount - 1
        
            If Not (IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![PcDigtv2])) _
                And (IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Kinship])) _
                Or (IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![service])) _
                Or (Forms![Forme_Fatora]![Forme_Visitors2]![service] <= 5) _
                And (IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Travel])) _
                Or (Forms![Forme_Fatora]![Forme_Visitors2]![service] <= 5) _
                And (IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Itinerary])) Then

        
             
                
                If IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Kinship]) Then
                 MsgBox "أدخل  هذا الحقل  !!!", 48, "تـنـبـيـه !"

                    Forms![Forme_Fatora]![Forme_Visitors2]![Kinship].SetFocus
                
                ElseIf IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![service]) Then
                 MsgBox "أدخل  هذا الحقل  !!!", 48, "تـنـبـيـه !"

                    Forms![Forme_Fatora]![Forme_Visitors2]![service].SetFocus
                
                ElseIf IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Travel]) Then
                 MsgBox "أدخل هذا الحقل  !!!", 48, "تـنـبـيـه !"

                    Forms![Forme_Fatora]![Forme_Visitors2]![Travel].SetFocus
                    
                ElseIf IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Itinerary]) Then
                MsgBox "أدخل  هذا الحقل  !!!", 48, "تـنـبـيـه !"
                   
                    Forms![Forme_Fatora]![Forme_Visitors2]![Itinerary].SetFocus

                End If  'IsNull
                
                Exit Sub
            
            End If  'IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Kinship])
        
        DoCmd.GoToRecord , , acNext

        Next i

    End If  'DCount

 

رابط هذا التعليق
شارك

15 دقائق مضت, jjafferr said:

وعليكم السلام

 

واخيرا كاسر يعطينا سؤال سهل:smile:


هذا السطر الاخير في الكود
    End If  'DCount

اكتب وراه
    DoCmd.GoToRecord , , acfirst

 

جعفر

ههههههه

صار صعب

الكود أعلاه يتم تنفيذه عند التركيز على زر أمر

وعندما وضعت حسب ما أشرت

DoCmd.GoToRecord , , acfirst

يتوقف زر الأمر في حديث عند التركيز ولا يكمل باقي الكود والموجود في حدث عند النقر

رابط هذا التعليق
شارك

1 ساعه مضت, kaser906 said:

وعند إلانتهاء من إكمال الحلقة التكرارية

1. يتوقف ( يتم التركيز ) على سجل جديد فارغ بنهاية النموذج

جعل الكود

2. ينقل التركيز الى

3. أول سجل بالنموذج بعد الانتهاء من عمله

 

1. انت تريد التركيز يذهب الى السجل الاول ، وهذه هي الطرق:


docmd.gotorecord,,acfirst

او
Me.Recordset.MoveFirst

او
Me.RecordsetClone.MoveFirst
Me.Bookmark = Me.RecordsetClone.Bookmark

.

2. بالنسبة الى الحقل/الكائن الذي سيكون عليه التركيز عندما يذهب الكود الى السجل الاول ، فيعتمد على الترتيب الذي انت وضعته ،

الصورة المرفقة هي اعدادات الحقل "state/province" ، وترتيبها للتركيز عليها هو 4 (في الواقع 5 ، لأن الاكسس يبدأ حسابه من الرقم 0) ، وكلمة Yes التي تحت الرقم تدل على انك تريد ان يتوقف المؤشر عليها عند ضغطك على زر الكيبورد Tab او Enter ،

هناك حالتين لا يتوقف عليها المؤشر ، اذا كتبت No في هذا الاعداد ، او كان الحقل/الكائن مخفي ،

لذلك ، فتأكد ان السجل الاول فيه حقل اول توقف

Control%20Properties%20and%20Why%20to%20

.

3. قد لا يكون المكان الصحيح لوضع هذا الكود في المكان الذي اخبرتك ، ولكن الكود صحيح ،

فأنظر اين تضعه في المكان الصحيح:smile:

 

جعفر

  • Like 1
رابط هذا التعليق
شارك

h

7 ساعات مضت, jjafferr said:

 

1. انت تريد التركيز يذهب الى السجل الاول ، وهذه هي الطرق:



docmd.gotorecord,,acfirst

او
Me.Recordset.MoveFirst

او
Me.RecordsetClone.MoveFirst
Me.Bookmark = Me.RecordsetClone.Bookmark

.

2. بالنسبة الى الحقل/الكائن الذي سيكون عليه التركيز عندما يذهب الكود الى السجل الاول ، فيعتمد على الترتيب الذي انت وضعته ،

الصورة المرفقة هي اعدادات الحقل "state/province" ، وترتيبها للتركيز عليها هو 4 (في الواقع 5 ، لأن الاكسس يبدأ حسابه من الرقم 0) ، وكلمة Yes التي تحت الرقم تدل على انك تريد ان يتوقف المؤشر عليها عند ضغطك على زر الكيبورد Tab او Enter ،

هناك حالتين لا يتوقف عليها المؤشر ، اذا كتبت No في هذا الاعداد ، او كان الحقل/الكائن مخفي ،

لذلك ، فتأكد ان السجل الاول فيه حقل اول توقف

Control%20Properties%20and%20Why%20to%20

.

3. قد لا يكون المكان الصحيح لوضع هذا الكود في المكان الذي اخبرتك ، ولكن الكود صحيح ،

فأنظر اين تضعه في المكان الصحيح:smile:

 

جعفر

نفذت كل اللي ذكرت والاعدادات مظبوطه كما يجب في ترتيب الجدولة والحقل الأول في ترتيب الجدولة ظاهر

لو غيرت مكان الكود خارج هذا الحدث فسيتم نقل النركيز الى السجل الأول بالنموذج الرئيسي

وما اريده ان ينتقل التركيز الى السجل الأول بالنموذج الفرعي بعد اكمال الحلقة التكرارية ثم ينتقل الى اكمال الحدث في زر الأمر عند النقر

على الفكرة المسألة مش مهمة الى هذه الدرجة

لكن لاحظت انه يجب ان انقر على زر  الأمر مرتين لكي يتم تنفيذ الحدث في عند النقر

طبعا هذا قبل ان اضع الكود الذي اشرت به علي

رابط هذا التعليق
شارك

ابش رايك ان تنقل الكود بالكامل ، بدل ما يكون على تركيز الزر ، اجعله على الضغط/النقر على الزر ، وبهذه الطريقة تتخلص من جميع المشاكل ،

نعم ما بيكون بالطريقة التي تريدها ، ولكن هذا الحال ، مو دائما تحصل على اللي تريد:smile:

 

بس بيصير عندك نقرة زر واحدة فقط:smile:

 

جعفر

  • Thanks 1
رابط هذا التعليق
شارك

11 دقائق مضت, jjafferr said:

ابش رايك ان تنقل الكود بالكامل ، بدل ما يكون على تركيز الزر ، اجعله على الضغط/النقر على الزر ، وبهذه الطريقة تتخلص من جميع المشاكل ،

نعم ما بيكون بالطريقة التي تريدها ، ولكن هذا الحال ، مو دائما تحصل على اللي تريد:smile:

 

بس بيصير عندك نقرة زر واحدة فقط:smile:

 

جعفر

:clapping:

ضبط بعد نقل الكود الى المكان المشار إلية

الله يعطيك العافية

 

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information