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

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

قام بنشر

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

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

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

المطلوب  :

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

        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

 

قام بنشر

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

 

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

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

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

 

جعفر

  • Like 1
قام بنشر
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:

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

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

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information