الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تمت الإجابة ]كيف يمكن منع تكرار قيمتين في نفس الجدول

بدأه sweety78 في 11 أغسطس 2009 · 18 رد · 2,173 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

الأخوة والأخوات الاعزاء,,,

في الملف المرفق أود منع تكرار قيمة Time و Date معاً

مثال:

في تاريخ 10/08/2009 لا أريد ان يقبل الادخال في النموذج الوقت 16:00 مرتين (مرة واحدة فقط بحيث يقوم البرنامج بحجز الموعد لموظف معين) وذلك من أجل ضمان عدم تضارب المواعيد، علما بأني اريد ان تكون المواعيد ثابته ويتم اختيارها من خلال combo box والمسمى بـ BB

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

على أمل ان اجد الحل عندهم

مع تحياااتي

d1.rar

#2

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

تفضل

ارجو ان يكون هو المطلوب

بالتوفيق

d1.rar

تم تعديل هذه المشاركة بواسطة ايهاب عثمان في 11 أغسطس 2009 في 15:18

#3

أخي العزيز/ يوسف احمد

شكرا جزيلاً لك، ليس هذ

أخي العزيز/ يوسف احمد

شكرا جزيلاً لك، ليس هذا ماطلبته بالظبط ولا اخفي عليك بأني هذه الطريق مفيدة جداً وسأحتاجها في المستقبل ان شاء الله. لاتناسبني هذه الطريق لانها تعتمد على المفتاح الاساسي والمشكلة بأنني سوف احتاج المفتاح الاساسي في الجدول لرقم لتعريف رقم الزبون.

اذا كان من الممكن حل هذه المشكلة عن طريق كود برمجي سأكون شاكراً لك وللأخوة والأخوات الاعضاء الكرام.

اتمنى ان اجد الحل لديكم

مع تحياااتي

#4

هل جربتم استخدام Dcount ...

تعد السجلات التي توافق الادخال الحالي، فان تكررت تعطل الادخال..

أو..

هذا الموضوع..

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

وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ

مواضيعي ومشاركاتي

#5

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

استاذي الفاضل/ همام ابوعرقوب شكرا لك جزيل الشكر

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

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

مع وافر الاحترام والتقدير

تحياااتي

App.rar

#6

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

لقد تمكنت من تطبيق مثال الاستاذ همام على نموذجي ولكن المثال يعتمد على امرين هما:-

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

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

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

لقد اطلت عليكم واتمنى ان تكون فكرتي قد وضحت وكما اتمنى ان اجد الجواب لديكم :rolleyes:

تحياااتي

تم تعديل هذه المشاركة بواسطة sweety78 في 14 أغسطس 2009 في 11:26

#7

اعمل اخي الكريم حاليا على تطويره وان شاء الله يحل المشكلة..

تحاتي

من مثالي المرفق أزلت المفتاح الاساسي وكانت النتائج سليمة، اي يمكنك هنا الاستغناء عنه، واتذكر انني وضعته فقط لتاكيد النتائج..

تحياتي

تم تعديل هذه المشاركة بواسطة همام ابوعرقوب في 14 أغسطس 2009 في 14:29

وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ

مواضيعي ومشاركاتي

#8

استاذي الكريم همام

لقد ازلت المفاتيح من مثالك كما ذكرت وفعلاً وجدت ان الكود يعمل ولا يسمح بالتكرار

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

فهل من وسيلة لمنع اي خطأ في تعارض في المواعيد كالذي اريد ان اطبقه في مثالي؟

تقبل تحياااتي وشكري الجزيل لك على تجاوبك دائماً

#9

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

تحياتي

وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ

مواضيعي ومشاركاتي

#10

السلام عليكم

انتظر الاجابة منك استاذي همام

مع وافر التحيات

#11

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

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

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

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

إليكم صورة مرفقة تبين ذلك.

تحياااتي

post-145478-1250454524_thumb.jpg

تم تعديل هذه المشاركة بواسطة sweety78 في 16 أغسطس 2009 في 23:32

#12

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

اخي sweety78

تم التعديل على مثالك بمشاركتك الأولى .

ارجو ان يكون هو مطلوبك

بالتوفيق ان شاء الله

d1.rar

#13

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

الاخوة الكرام احاول على استحياء المشاركة الى جانب الاخوة الخبراء و لكن اتمنى ان تقبلو مشاركتي المتواضعة لحل مثل هذه المشكلة برمجيا

الحل في حدث قبل التحديث على حقلي التاريخ و الوقت

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

و تقبلو خالص تحياتي

d1.rar

xxupxx-822ef3e5e3.gif

xxupxx-94c7b036cc.gif

#14

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

مرحباً بك اخي العبدلي2006

سلمت اناملك .. حل رائع

الكل يبحث عن الاجر ... كتبه الله لك ولنا وزادك من علمه وفضله ... اللهم آمين

#15

شكرااااااااا جزيلا الاستاذ أحمد يوسف وكذلك الاستاذ العبدلي2006 فهذا ماطلبته بالظبط

كذلك الشكر موصول لإستاذي الفاضل همام ونعذره لإنشغاله او بسبب الخلل الفني لديه.

لدي سؤال بسيط من مثال الاستاذ احمد يوسف اذا امكن،، وهو اذا اردت ان اطبق هذا المثال على البرنامج لدي اين استطيع ان اضع هذا الكود والذي مشار اليه في الصورة المرفقة

فهو ليس في حدث BeforeUpdate ولا غيره، اي بمعنى آخر الى اين اذهب كيف اتمكن من اضافته؟؟

وشكرا جزيلاً لكم

تحياااتي

post-145478-1250526544_thumb.jpg

#16

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

لا شكر على واجب اخي الكريم

هي وظيفة خاصة على مستوى النموذج ولعملها :

من محرر الفيجوال بيسك اذهب الى قائمة ادراج ( Insert ) واختر الخيار الاول منها اجراء ( Procedure ) قم بتحديد اسم لهذا الإجراء واختيار نوعه ومداه حسب ما هو موضح بالصورة المرفقة ( معذرة لا املك الآن البرنامج الخاص بالتعليقات على الصور ) ولكن الصورة ان شاء الله واضحة حيث Type هو النوع و Scope هو المدى

وعموماً بإمكانك نسخ الكود بالوظيفة كاملاً بما فيه جملة التعريف وجملة الإنهاء ولصقه بمحرر الفيجوال بيسك تحت آخر سطر بوحدة النموذج وستتكون الوظيفة

اقتباس
فهو ليس في حدث BeforeUpdate ولا غيره

يتم اختبار القيمة بالحدث المذكور كالتالي

If IsDuplicateRecord Then Cancel = 1

بالتوفيق

post-74640-1250536172_thumb.jpg

#17

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

اخي العزيز Sweety الحدث صحيح.. هي دالة يتم استدعائها كما هو موجود في الصورة..في حدث قبل التحديث..

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

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

تم تعديل هذه المشاركة بواسطة همام ابوعرقوب في 17 أغسطس 2009 في 22:13

وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ

مواضيعي ومشاركاتي

#18
اقتباس
اخي يوسف عذرا رايت المشاركة الان.. كل الشكر على جهودك.. والله اني مقصر هنا والسبب الاكسس.. مشكلة لم تمر بحياتي مثلها.. وجربت كل شي..

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

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

كل عام والجميع بخير وعافية

#19

شكراً لكم B)

مواضيع مشابهة