اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

حقل اجباري في الاكسس


Radwan0

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

السلام عليكم 

 

ارجو مساعدتكم في كود اجبار ادخال المعطيات في حقل , اعلم انه من خلال خصائص الحقل استطيع فعل ذلك لكني اريد من خلال كود 

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

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

ممكن حضرتك تعمل funcation  للتأكد من الحقول الفارغة داخل النموذج 

 

Private Function confirmation() As Boolean
    
    If IsNull(Me.TypePayType) Then
     Me.TypePayType.SetFocus
    confirmation = False
    Exit Function
    End If
    
    If IsNull(Me.TypePay) Then

    Me.TypePay.SetFocus
    confirmation = False
    Exit Function
    else

confirmation = True
End If

End Function

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

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

اولا - أنشأ موديل وضع به هذا الكود

Public Function TestRequeredField(ByRef frm As Form) As Boolean
'Elhlawany 21/12/2021 
'test if control is marked with * or not
On Error Resume Next

For Each C In frm.Controls
    If C.ControlType = acTextBox Or C.ControlType = acComboBox Then
        If C.Tag = "*" And Len(C & "") = 0 Then
            C.BackColor = vbYellow
            C.SetFocus
            msgbox "This is Required Field you must fill it!"     'MakeMsg (45)
            TestRequeredField = False
            Debug.Print C.Name
            Exit For
            Exit Function
        Else
            TestRequeredField = True
        End If
    End If
Next

End Function

ثانيا- من خصائص الحقل او الحقول التي تريد التحقق منها اضبط خاصية التاج الي نجمة بهذا الشكل 

ثالثا- في زر الحفظ ضع هذا الكود

    If TestRequeredField(Me) = True Then
		'Write here what you want happin
    Else
            Beep

    End If

ودمتم 

ولا تنسانا من دعواتك 

125.png

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

بارك الله بك اخي ابو عبدالله

المشكله الصغيره هنا انه حتى لو بحال لم اقم بتعئبه الحقل صاحب ال * وقمت بالخروج من النموذج فانه يقوم بانشاء سجل فارغ وهذا ما لا اريده

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

19 دقائق مضت, RaDwAn00 said:

وقمت بالخروج من النموذج فانه يقوم بانشاء سجل فارغ وهذا ما لا اريده

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

ووافنا بالنتائج

Private Sub Form_Close()
    If TestRequeredField(Me) = False Then
        Me.Undo
    End If
End Sub

 

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

السلام عليكم 

8 ساعات مضت, ABOLO2 said:

توضيح الكود (شرح) 

انت اللي جبته لنقسك - اسمع شرح الصعايدة - وامرك لله :biggrin:

بس علي شرط لو لم تتفهم من الشرح شىء - عليك الاستعانة بالله أولا - ثم قم بشراء قاموس مفرادات اللهجة الصعيدية :biggrin: ولا تطلب الاعادة.

توكلنا علي الله

في 13‏/3‏/2022 at 20:56, أبو عبدالله الحلوانى said:
'1      '2                          '4                    '3
Public Function TestRequeredField(ByRef frm As Form) As Boolean

 

1- في هذا السطر بنعرف دالة عامة - حتي نستطيع ان ننادي عليها من اي مكان بالبرنامج 

2- لماذا دالة وليس اجراء؟! يعني لماذا Function  وليس Sub ؟!

3- نعم لأن الدالة يمكن تحويلها الي قيمة وهذا ما حدث هنا فقد تم تحويل هذه الدالة الي قيمة منطقية ( True - False)

فبعد ان تنتهي دالتنا من مهمتها ستتحول الي قيمة true في حالة الانتهاء من مهمتها بنجاح والا الي false

4- وكنا بحاجة الي تمرير اسم الفورم الذي ستتعامل معه دالتنا فكان لا بد من وضع بارمتر للدالة لنمرر قيمة هذا البارمتر عند منادة الدالة من الفورم - وعلي حد علمي يمكن تمرير البارمتر بطريقتين:

أ- ByVal = وبهذه يتم تمرير القيمة للبارمتر - بحيث نخبر الدالة ان تتعامل مع هذا البارمتر كقيمة مثلا: عندما امرر اسم مربع نص لهذا البارمتر من الفورم فستقوم الدالة بالتعامل مع النص الذي بداخل مربع النص (ارجو ان يكون الأمر واضح)

ب- ByRef = وهذه تتعامل مع كائن المرر علي اعتباره وليس علي اعتبار قيمته ، مثلا: بالمثال السابق عند تمرير اسم مربع النص سيتم التعامل مع مربع النص كمربع نص - يعني ككنترول - وليس كرقم او نص الذي بداخل هذا الكنترول 

لا تنسي الشرط - والقاموس :yes:

اما عن C فكنت قد عرفته في جزء التعريفات العام ولم ارفق هذا الجزء بالكود ولم انتبه الا عند ممارستي لهواية الشرح :wub:

وكان تعريف الـ c هكذا 

Dim C As Control

وهكذا لا حاجة لتوضيح شىء آخر عن هذه النقطة والحمد لله 

اما عن باقي الكود 

فهذا لا يحتاج  الي شرح اليس كذلك :biggrin:

وعلي كل وان كنت مصر 

فهذا هو مدار الكود ان يتم التحقق من كل كنترول مظنة اداخل البيانات منه مثل: textbox - أو - combobox 

ان كان يحمل تاج * هل هو فارغ ام لا ان كان فارغ يعطي الدالة قيمة false وينهي الاجراء ويظهر رسالة ويظلل خلفية هذا الكنترول بلون اصفر وضع التركيز عليه

ولا تسأل لماذا اللون الأصفر لأني لا أدري لماذا أفضله :blink:

أعتقد ان الشرح قد انتهي 

وأسأل الله أن ييسر لكم فهم ما قلت 

ولا تنسي شرطنا واتفاقنا منذ البداية

تمنياتي بالتوفيق

 

 

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

استاذي العزيز أبو عبدالله الحلوانى 

انا اثقلت عليك من كثرة اسئلتي 

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

و حاولت وفشلت 

هل من الممكن ان اجعل هذة الوحدة تتمكن من التأكد اذا كان تنسيق الخلية تاريخ 

تتأكد من اذا كان الادخال في الخلية تاريخ ام لا 

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

4 ساعات مضت, ABOLO2 said:

هل من الممكن ان اجعل هذة الوحدة تتمكن من التأكد اذا كان تنسيق الخلية تاريخ

لماذا لا تجعل تنسيق الخلية تاريخ بحيث يتم التنبيه تلقائيا عند عملية الادخال للمستخدم كما بالصورة

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

1234.png

1235.png

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

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

اثقلت عليك استاذي 

و لكن اعذرني 

فأنا احاول لاتعلم 

كلنا ذلك الرجل 

هل فكرة التنسيق مناسبة لك ام مازلت بحاجة للتعديل علي الفانكشن 

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

في 13‏/3‏/2022 at 22:16, أبو عبدالله الحلوانى said:

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

ووافنا بالنتائج

Private Sub Form_Close()
    If TestRequeredField(Me) = False Then
        Me.Undo
    End If
End Sub

 

 

لم يصلح الامر ياغالي 

بالرغم من ترك الحقل فارغ الا انني عند الخروج من النموذج والدخول مرة اخرى ارى رقم السجل الاخير قد تغير

 

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

منذ ساعه, RaDwAn00 said:

بالرغم من ترك الحقل فارغ الا انني عند الخروج من النموذج والدخول مرة اخرى ارى رقم السجل الاخير قد تغير

حقيقة لا استطيق تخمين ما حدث معك سوي ان هذا الحقل مرتبط بحقل بالجدول 

علي كل يمكنك ان تنشىء نموذج مصغر للنموذج الذي به المشكلة وترفقه فليس من سمع كمن رأي 

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

  • 2 weeks later...
في 15‏/3‏/2022 at 22:56, أبو عبدالله الحلوانى said:

حقيقة لا استطيق تخمين ما حدث معك سوي ان هذا الحقل مرتبط بحقل بالجدول 

علي كل يمكنك ان تنشىء نموذج مصغر للنموذج الذي به المشكلة وترفقه فليس من سمع كمن رأي 

تفضل ياغالي

Database1.accdb

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

  • 2 weeks later...
في 15‏/3‏/2022 at 21:41, أبو عبدالله الحلوانى said:

كلنا ذلك الرجل 

هل فكرة التنسيق مناسبة لك ام مازلت بحاجة للتعديل علي الفانكشن 

استاذي العزيز ارجو منك 

اضافة التأكد من ادخالات المستخدم مناسبة لتنسيق الخلايا للوحدة النمطية

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

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