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

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

قام بنشر

السلام عليكم 

لدي في قاعدة البيانات المرفقة

حقل A .................... عدد صحيح .................... مفهرس التكرار مقبول

حقل B .................... نعم/لا       .................... مفهرس التكرار مقبول

 

المطلوب :

منع تكرار .................... [قيمة (نعم) للحقل B مع قيمة العدد في الحقل A]

 

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

 

No Duplicates.rar

قام بنشر

الحل يتم بأكثر من طريقة

اسهل وأقوى طريقة هو ان تجعل الحقلين مفتاحين

جرب ووافنا بالنتيجة

تنبيه : لاختيار اكثر من مفتاح  : اضغط زر كنترول من لوحة المفاتيح  ثم حدد السجلات المطلوبة ثم انقر بالزر الايمن واختر المفتاح

 

No Duplicates.rar

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

أخي الكريم 

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

وذلك لان حقل  A سيحوي نفس قيمة العدد بأكثر من سجلين وهذا لا يصلح مع خانة الاختيار والتي هي فقط خيارين 1 و 0

 

والمطلوب هو :

منع تكرار .................... [قيمة (نعم)أي 1 فقط للحقل B مع قيمة العدد في الحقل A بأكثر من سجل واحد

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

تفضل 

آمل ان يحقق مطلبك

Private Sub A_AfterUpdate()
If (DLookup("B", "tbl1", "B=form!B")) Then
MsgBox "هذا السجل مكرر "
Undo
End If
End Sub


Private Sub B_AfterUpdate()
If Not IsNull(DLookup("A", "tbl1", "A=form!A")) Then
MsgBox "هذا السجل مكرر "
Undo
End If
End Sub

 

NoDuplicates.rar

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

جزاك االله خيرا وعذراً لك أخي الكريم

لكن ليس هو المطلوب أيضا وذلك لأنني لم أستطيع ايصال الصيغة البرمجية للمطلوب

 

سأحاول مرة أخرى أن أكتب لك الصياغة البرمجية للكود المطلوب

 

منع التكرار

عندما يكون (مجموع عدد السجلات التي تحوي قيمة "نعم" في الحقل B  مع القيمة المكررة في الحقل A) أكبر من 1

يعني لا يمكن تكرار السجل إذا كان هناك سجل يحوي قيمة نعم للحقل B لنفس الرقم في الحقل A (في نفس السجل)

 

واعذرني اذا لم استطع ايصال الفكرة مرة اخرى

 

 

ولكن يمكنك الاستعانة بالمرفق الأول لوضوح الفكرة هناك

تم تعديل بواسطه mr steev
قام بنشر (معدل)

بعد عناء ليس بالطويل تم حل المسالة بجهودكم المبذولة وبواسطتي 

وذلك عن طريق دالة DCount

 

جزاكم الله خيراً

No Duplicates OK.rar

تم تعديل بواسطه mr steev
قام بنشر (معدل)

اخي مستر ستيف وقبل ان تذهب

جرب ضع علامة صح في اول سجل ! وعند ظهور الرسالة اضغط سكيب esc مرتين ! ماذا تلاحظ : قبل الصح وهنا تكررت البيانات ! 

ساترك لك محاولة الحل ! والا عد وسنعود !

 

عزيزي اباخليل : هل تعلم انه يوجد بما تفضلت به في :DLookup("B", "tbl1", "B=form!B"))  تحفة كما تسميها ! وهي ليست جديدة بالنسبة لي ولكن نبهتني لشي مهم بل تحفة وهي بمثابة معلومة جديدة لي . هي كالتالي :

انه في وضع كلمة form او بدونها فقط اسم العنصر على النموذج داخل الدوال التجميعية وفي جزء الشرط لم يعد هناك الحاجة للتنسيق الصريح للنص بوضع العلامة '  وللتواريخ بوضع #  . فان الاكسس يميز ذلك ضمنيا .

 

تحياتي للجميع

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

أعطاك الله عافية لا سقم بعدها سيد رمهان 

 

لقد قمت لك بتعطيل مفتاح سكيب esc

 

فخذ مني هذا الحل وأعطيني فجوة أخرى

 

وهذا من فضل ربي

 

جزاك الله خيراً

No Duplicates OK.rar

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

اوك

جرب عند ظهور الرسالة اضغط موافق ثم اعمل تراجع  ctrl+z

قام بنشر

اخي مستر ستيف

اليك هذا السطر من الكود وامسح جميع الاكواد الاخرى

Private Sub Form_BeforeUpdate(Cancel As Integer)
If DCount("*", "tbl1", "[B]=1 and [A]= form![A]") = 1 Then Cancel = B: MsgBox ("مكرر"): Undo
End Sub

تحياتي

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

جزاك الله خير

 

ولكن الاصح لي أن يكون المنع فوري عند اختيار الصح او عند تحديد الرقم

وليس بعد القيام بالاختيار 

 

فهل لديك طريقة مختصرة لذلك

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

انا اعطيتك الاصح ! خاصة ولو كان هناك حقول اكثر ! فالبرنامج ينظر على مستوى النموذج كاملا ! وأين المشكلة هنا اخي مستر ستيف !

تريدها على مستوى العنصرين وحسب وجهة نظرك ! لبيت طلبك والله المستعان !

 

تحياتي

  • 2 years later...
قام بنشر (معدل)

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

اخواني ما الطريقة بالطبيق على أكثر من 18 حقل 

أفيدون جزاكم الله كل خير 

 

 

تم تعديل بواسطه alaaldin

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