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

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

قام بنشر

أخوتي الأعزاء السلام عليكم .. وبعد

كيف أجبر المستخدم على عدم ترك أحد الحقول فارغاً حيث حاولت أن أجعل خاصية مطلوب "نعم" وكتبت في قاعدة التحقق من الصحه : is not null ولكن أريد عندما ينتقل المؤشر من الحقل مباشره إلى الحقل الثاني يظهر رسالة تنبيه ويعيد التركيز في الحقل المراد عدم تركه فارغاً . أرجو المساعده والله يحفظكم ..

  • Thanks 1
قام بنشر (معدل)

السلام عليكم

في حدث عند الخروج للحقل المراد ضع هذا الكود وغير اسم الحقل

المكتوب بالعربي الى اسم الحقل الذي تريده

If IsNull(Me![أكتب هنا اسم الحقل]) Then

MsgBox "لايمكن ترك هذا الحقل بدون بيانات ."

Cancel = -1

End If

تم تعديل بواسطه alhajri
  • 4 weeks later...
  • 3 months later...
قام بنشر

السلام عليكم

لدي نموذج به عدة حقول ( مربعات نص )

واريد طريقة بحيث لايمكن الانتقال إلى سجل جديد أو اغلاق النموذج مالم تكتمل تعبئة الحقول الأساسية مع ظهور رسالة تبيهية بضرورة تعبئة الحقول الفارغة المطلوبة.

وشكرا لتعاونكم

اخوكم العامر

قام بنشر

أذهب الى الجدول الذي توجد به الحقول التي تريد تزويدها بالبيانات اٍجباريا,في وضع التصميم حدد الحقل و في خصائص الحقل تجد خاصية مطلوب ضع علامة نعم

requiered=yes

قام بنشر

شاكر لك اهتمامك اخي الكريم

ولكن طبقت ماقلته سلفا إلا أن المشكلة أثناء تعبئة بعض الحقول في النموذج وترك الأخرى فارغة ثم الخروج من النموذج لايطالب بتعبئة الحقول الفارغة المطلوبة ومايحدث هو الخروج من النموذج دون حفظ البيانات ودون ظهور أي رسالة تشعر المستخدم بضرورة تعبئة تلك الحقول.

آمل ان يكون الشرح واضح.

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

وشكرا لكم

قام بنشر

أخى الكريم

بمنتهى البساطة يمكنك عند الخروج من الحقل المراد تعبئته أجبارى أن تختبر الحقل فإذا كان ماذال خالياً فتعود به مرة أخرى الى الحقل ليتم تعبئته وهكذا فى جميع الحقول التى تريد أجبارى تعبئتها.

لا تنسانا من داعاء الخير

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

قام بنشر

السلام عليكم

أخي الكريم بعد التأكد من اختيار نعم لخاصية مطلوب التي في الجدول إذهب إلى قائمة أدوات ثم خيارات ثم صفحة تحرير/بحث ففيه خانة باسم (تأكيد) ضع علامة صح على تغيير السجلات

والسلام

قام بنشر

ضع الحدث عند الخروج لمربع النص المطلوب تعبئة بياناته

If IsNull(Me![اسم مربع النص على النموذج]) Then 
MsgBox "هناك حقل فارغ يجب إستكمال البيانات", vbInformation + vbMsgBoxRight, "بيانات ناقصة" 
Me.[اسم مربع النص على النموذج].SetFocus 
DoCmd.CancelEvent
End If

أشرف خليل

قام بنشر (معدل)

السلام عليكم

هذا كود اقتبسته من أخي محمد طاهر وقمت بالإضافة عليه لضمان عمله بشكل صحيح في أكثر الظروف ومع الإحتمالات المتعددة :

Private Sub Form_BeforeUpdate(Cancel As Integer)
  Dim Ctrl As Control
     
  For Each Ctrl In Me.Controls
    With Ctrl
      If .ControlType = acTextBox Or _
         .ControlType = acComboBox Or _
         .ControlType = acListBox Or _
         .ControlType = acOptionGroup Then
        
        If .Visible And _
           .Enabled And _
           .Locked = False And _
           .ControlSource <> "" Then
          
          If IsNull(Ctrl) Then
            'If .Tag = "Check Null" Then
              MsgBox "لقد تركت أحد الحقول فارغا"
              Cancel = -1
              .SetFocus
            'End If
          End If
        End If
      End If
    End With
  Next Ctrl
     
End Sub

تحياتي .

تم تعديل بواسطه أبو هادي
قام بنشر

اخواني الكرام

شاكر ومقدر للجميع اهتمامهم وجزا الله الجميع خيرا

محتار والله مع هالقاعدة.

اخذتها من أحد الزملاء لتطويرها وهي خاصة لا أستطيع ارفاقها. ومشاكلها مايلي:

1. المفتاح الرئيسي مكون من حقلين (رقمين) وعند تكرار القيم لايعطي رسالة بالتكرار ولايحفظ السجل (يغلق بدون رسالة وبدون حفظ البيانات عند اغلاق النموذج وعند إضافة سجل جديد يعطي رسالة بأنه لايمكن الانتقال إلى السجل المحدد).

2. طبقت نفس الأكواد المذكورة سلفا إلا أنه يغلق النموذج مباشرة بعد ضغط موافق في الرسالة بينما تعمل بشكل جيد في حالة إضافة سجل جديد.

3. عند المحاولة باستيراد جميع عناصر قاعدة البيانات إلى قاعدة جديدة كمحاولة لحل المشكلة لم يتم استيراد أكواد النماذج ولم استطع الوصول إلى الموديول لنسخ جميع الأكواد (تظهر رسالة بأنه الذاكرة فارغة)

آسف لازعاجكم ولكم خالص الأمنيات

أخوكم العامر

قام بنشر

السلام عليكم

تعديل آخر على الكود :

Private Sub Form_BeforeUpdate(Cancel As Integer)
  Dim Ctrl As Control
     
  For Each Ctrl In Me.Controls
    With Ctrl
      If .ControlType = acTextBox Or _
         .ControlType = acComboBox Or _
         .ControlType = acListBox Or _
         .ControlType = acOptionGroup Then
        
        If .Visible And _
           .Enabled And _
           .Locked = False And _
           (Not .ControlSource Like "=*" And .ControlSource <> "") Then
          
          If IsNull(Ctrl) Then
           'If .Tag = "Check Null" Then
              MsgBox "لقد تركت أحد الحقول فارغا"
              Cancel = True
              .SetFocus
              Exit For
           'End If
          End If
        End If
      End If
    End With
  Next Ctrl
End Sub

تحياتي .

  • 1 month later...
قام بنشر (معدل)

السلام عليكم . بسراحة عجبتني هذي الخاصية في أكسس . بس ياترى هل من الممكن أني أخلي المستخدمه ماتنتقل في تعبئة الحقول الى بترتيب معين وأجبرها على ذلك ! عن طريق فهرسة الجدولة... تحياتي :fff:

تم تعديل بواسطه lyla
قام بنشر

صح هي بالأنجليزي Tab Index . صحيح أني ممكن أغير ترتيبها أشان يروح الكيرسر تلقائيا للي بعدها . بس ممكن تنتقل الى حقل نص مثلا Text وتروح للآخر . لا أنا عايزه أخليه مايطلع من هذا الحقل حتى يكتب فيه وينتقل للي بعده . ممكن تقول روحي للجدول وكتبي مطلوب: نعم صح !!!

صح مايطلع البرنامج الا ينبه ويقول هذا الحقل مطلوب . بس متى !!! اذا أنتهيت ... مش كذه . مو هذا قصدي ... أكيد فهمت ... لا تقول لا :')

------------------------------------------------------------

ولا قصدك انها ما تطلع من النص حتى تكون القيمة موجودة؟

نعم هذا قصدي (y)

قام بنشر

طيب ما في اشكال بس لازم تعرف متى تبغين الكود يفحص!!

مثلا اذا تبين الكود يفحص القيمة المدخلة هل هي من النوع المطلوب(الحقل ياخذ رقم يجب ان يدخل المستخدم رقم) اذا تحتاج الكود يفحص على الحدث After Update

اما اذاكنت مجرد تريد التاكد ان المستخدم ادخل معلومات في هذه الحاله الكود سهل جدا ويكون داخل الحدث

Lost Focus

تحياتي

قام بنشر

لا أخوي وين ماستر مو كذه بعطيك مثال :

TEXT1 -TEXT2 - TEXT3

لنفرض أني أدخلت قيمة في TEXT1 وبعدها رحت TEXT3 . المفروض أن البرنامج يرفض ذلك لأنه يجب إدخال قيمه لـ TEXT2 أبل TEXT3 أي أن الكريسر يرفض تعبئة TEXT3 أبل TEXT2 . هذا ماقصدته :pp:

قام بنشر

ما في مشاكل تستطيع عمل الكود في حدث On Got Focus

وتضعين كود الفحص على text 3 ان يفحص text 2 و Text 1

قبل لا يقبل اي ادخال.

ونفس الحال للباقي

اذا تبين مساعدة ارفعي الملف وانا حاضر

تحياتي

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