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

كيفية عدم تكرار اكثر من حقل في بيانات اكسس


بغداد83

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

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

 

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

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

البرنامج هذا http://up.top4top.net/downloadf-top4top_7f3f88df1c1-rar.html

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

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

Private Sub Form_BeforeUpdate(Cancel As Integer)
If DCount("[field1]", "table1", "[field1]='" & Me!txt1 & "' AND [field2]='" & Me!txt2 & "'AND [field3]='" & Me!txt3 & "'") > 0 Then
     MsgBox "duplicated fields", vbExclamation
    Me.Undo
    Cancel = True
End If
End Sub
  • Like 3
رابط هذا التعليق
شارك

 

Private Sub Form_BeforeUpdate(Cancel As Integer)
If DCount("[field1]", "table1", "[field1]='" & Me!txt1 & "' AND [field2]='" & Me!txt2 & "'AND [field3]='" & Me!txt3 & "'") > 0 Then
     MsgBox "duplicated fields", vbExclamation
    Me.Undo
    Cancel = True
End If
End Sub

 

 

الاستاذ ابا خليل

انبه فقط ان طريقة حساب عد السجلات مقارنة بقيم السجل الحالي لا تخرجك من فخ السجل الحالي وخاصة عند الحدث قبل التحديث وهو ما اسميته في اكثر من مكان "فخ السجل الحالي" . وقد وجدت اغلب الاخوان وفي اكثر من مكان يقعون في هذا الفخ !

وهنا وفي هذا الرابط شرح اكثر ومع مثال

http://www.officena.net/ib/index.php?showtopic=61342&hl=

 

تحياتي

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

شكرا استاذ رمهان 

والله يكفينا شر الافخاخ 

هل تقصد ان الافضل ان يكون الحدث بعد التحديث ؟

 

Private Sub Form_AfterUpdate()
؟؟؟؟؟؟؟؟؟؟؟؟؟؟
End Sub

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

ولا تنسى استاذنا  يكون على 2003

وفقك الله لكل خير

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

اخي الاستاذ اباخليل

تفضل هذا تطبيق للكود السابق والخلل ! 

حاول ان تعدل على سجل محفوظ مسبقا ! وفي حقل هامش الكتاب مثلا !

 

المسألة هي تنبيه فقط وجل من لا يغفل !

 

تحياتي

New Microsoft Access قاعدة بيانات.rar

تم تعديل بواسطه رمهان
  • Like 1
رابط هذا التعليق
شارك

اطلعت على المثال

جزيت خيرا 

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

والحقيقة هي عكس ذلك فهي ميزة وفريدة ايضا

وكما هو المتبع عند البعض ان لم يكن الاغلبية اتباع طرق خاصة لاجراء التعديل على البيانات   

تم تعديل بواسطه أبـوخليل
  • Like 1
رابط هذا التعليق
شارك

هنا تم استخدام معرف السجل للمقارنة وباستثناء السجل الحالي !

اتمنى ان وصلت الفكرة تماما ! وهو لما تريد الاخت السائلة !

 

بالتوفيق

New Microsoft Access قاعدة بيانات.rar

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

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

نعم هي طريقة اخرى لمنع التكرار

وكل يأخذ الطريقة التي تناسبه

في اجابتي :

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

يعني زيادة ميزة  وليست فخا حسب تعبيرك   

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

اما الحل الذي طرحته انا فهو عام يتعامل مع الحقل الهدف ولا يشترط وجود المعرف

 

 بارك الله فيك وبعد هذا الايضاح  : 

ان اول مداخلة لك تحتاج منك الى مراجعة 

وقد وجدت اغلب الاخوان وفي اكثر من مكان يقعون في هذا الفخ !

اي فخ ؟ هديت وعوفيت   " هذه الكلمة تعطي ايحاء خاصا .. فليست في قاموس منتدياتنا " 

 

الزبدة اخوي محمد :

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

يعني   يا حبيبنا واستاذنا  ارمي المعلومة ومالنا ومال التلميح والناس والاخوان الآخرين

تقبل ودي واحترامي ،،،

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

الاستاذ الجليل ابا خليل

والله لا ايحاءات ولا شئ ! ذكرت ان بعض الاخوة وقع في الفخ كما وقعت فيه انا ! وهنا لا يوجد ايحاء بل شي صريح !

لذلك يبدو لي ان المشكلة لم تتضح لك بعد والله اعلم ! ( اسميتها مشكلة عشان خاطرك بدلا من فخ )

اريدك ان تطبق معي الاتي وبعد قبلة على رأسك :

افتح المرفق الذي بالمشاركة رقم 5 . اذهب للحقل "هامش الكتاب" وفي السجل 1 واكتب اي شي ثم اخرج من السجل ستظهر رسالة التكرار وانت لم تمس اي من الحقول الثلاثة التي بها شرط التكرار ( رقم الكتاب والموضوع وجهة الارسال ) . النظام يقول تكرار لانه ادخل السجل الحالي ضمن العد وحسب الحقول الثلاثة التي ليس بها اي تعديل !

بس هذه المشكلة وانا خاضع بين يديك لترشدني ان كنت ضالا !

تحياتي

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

لا اعرف مااقول غير بارك الله فيكم انحلت المشكلة الله يجازيكم كل خير

 

 

وانتم ما شاء الله اصحاب خبرة لذا ممكن اطمع بسؤال اخر هو

كيف اعمل نص تنبؤي لحقل مثل اللي بالاكسل يعني من اكتب في حقل جهة الكتاب مدخلة مسبقا يظهر نص تنبؤي لها

مع خالص شكري

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

الاخت الكريمة بغداد :

يفضل ان تفتحي موضوعا جديدا بسؤالك

 

استاذنا العزيز رمهان :

لانه ادخل السجل الحالي ضمن العد وحسب الحقول الثلاثة التي ليس بها اي تعديل !

نعم بالفعل هذا السجل معدود ضمن سجلات الجدول

المسألة حدثت كالتالي :

حين يبدأ المستخدم بادخال البيانات يكون عدد السجل الحالي (count) = صفر

لانه لم يتم تحديث النموذج بعد 

ولكن حين يعود المستخدم مرة اخرى يكون عدد السجل داخل مجموعته =1

والشرط في الكود يمنع التحديث اذا كان اكبر من صفر

وهنا لن يقبل اكسس اي تغيير على الحقول الاخرى 

ولكن :

لاحظ انه يمكننا تغيير الحقول التي طبقنا عليها شرط التكرار ( بشرط الا يكون لها شبيه داخل الجدول )

وحينها اي بعد التعديل على احد الحقول المشروطة سيمنحنا اكسس حق التعديل على باقي الحقول

اليست هذه ميزة فريدة وتؤخذ بالاعتبار ؟

 

اخي العزيز رمهان اخواني الكرام :

نقاشنا هنا يخص فيما لو استخدمنا نموذج عرض البيانات واستخدمناه لادخال البيانات

اما حين نستخدم نموذج ادخال البيانات سينقطع هذا النقاش

لانه بعد تحديث النموذج لن نجد امامنا بيانات نعدل عليها 

  • Like 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