ابورغد قام بنشر ديسمبر 18, 2004 قام بنشر ديسمبر 18, 2004 السلام عليكم ورحمة الله وبركاته لقد تتبعت المنتدى وبحثت عن عدم تكرار السجلات في الجدول ووجدت المطلوب وذلك بتحقق شرط واحد فقط كما في الكود : Dim Result As Long Result = DCount("[FldName]", "YourTbl", "[FldName] = '555'") If Result = 10 Then MsgBox ("Your message here") End If لكن ما أريده هو أن أجعل الشرط بأكثر من حقل ولكن بدون تكرار الجملة الشرطيه، وانما بتعدد الحقول أرجو أن اكون قد أوصلت الفكره بشكل واضح ولكم تحياتي وتقديري
rudwan قام بنشر ديسمبر 19, 2004 قام بنشر ديسمبر 19, 2004 (معدل) أخي العزيز أولا : لو كنت أوضحت بنية الجدول عندك كان أحسن . أولا : اذا كنت تريد منع التكرار نهائيا للسجل , فاجعله مفتاح اساسي ثانيا : اذا كان يوجد للحقل مفتاح اساسي و تريد حقل آخر أن لا يتكرر نهائيا, فاجعل خاصيته indexed غير مكرر , ثالثا : اذا كان يوجد للحقل مفتاح اساسي و تريد حقل آخر أن لا يتكرر في نفس عائديته للحقل الأساسي الأول , مثلا لديك جدول فواتير , فيه الحقلين رقم الفاتوره , رقم الصنف اذا كنت تريد رقم الصنف أن لا يتكرر مرتين في نفس رقم الفاتوره , فاجعل كلا من رقم الفاتوره و رقم الصنف مفتاح اساسي رابعا : اذا كنت تسمح بالتكرار و لكن تريد فقط معرفة هل تكرر هذا السجل أكثر من مره أم لا , و كم عدد مرات التكرار , يمكنك استخدام المعادله التاليه و تضعها في الوحده النمطيه: Function Repeated(FldName As Long) As Boolean If (DCount("FldName", "YourTbl", "[FldName]=" & CStr(FldName))) > 1 Then Repeated= True Else Repeated= False End If End Function والآن ارجع الى النموذج ,و ضع فيه عنصر تشييك , و ليكن اسمه NumOfCount و اجعل مصدر بياناته كما يلي : (Repeated(fildnam افتح النموذج أو الاستعلام , اذا وجدت أحد حقول الجدول فيه عنصرالتشييك صح , يعني أن هذا العنصر تكرر أكثر من مره تم تعديل ديسمبر 19, 2004 بواسطه rudwan
ابورغد قام بنشر ديسمبر 19, 2004 الكاتب قام بنشر ديسمبر 19, 2004 اشكرك اخي رضوان على تجاوبك معي ما اعنيه هو أن لدي جدول خاص بزيارات مشرفين تربويين للمدارس والهدف هو عدم وجود زيارة لمشرفين في نفس اليوم الواحد وليس الجدول اسمة Tvisit الحقول ID = رقم السجل المدني للمشرف school=رقم المدرسة التي سوف تزار day=يوم الزيارة day_1 = تاريخ يوم الزيارة day_2 = شهر الزيارة day_3 = سنة الزيارة visit_ID = الهدف من الزيارة الحقول السته الأخيرة هي التي أرغب عند تكرارها في الجدول يعطيني رسالة تنيه وانا مخير بتسجيلها أو حذفها وقد ركبت الجملة الشرطية التي ذكرتها في بداية الموضوع وذلك بجعل كل حقل له جملة شرطية واحدة ، وانا ارغب بأن اجمع تلك الحقول في جملة واحدة فقط وليس بست جمل شرطية أرجوا أن اكون قد أوضحت وتقبل تحياتي
rudwan قام بنشر ديسمبر 19, 2004 قام بنشر ديسمبر 19, 2004 أولا :لماذا لا تجمع الحقول الأربعه الخاصه باليوم و التاريخ و السنه و الشهر في حقل واحد و تسميه تاريخ الزياره , و يتم تنسقه تنسيق طويل : اسم اليوم - اليوم - شهر - سنه ثانيا : لم توضح ماهي الطريقه التي تريد أن لا يتكرر بها تاريخ الزياره هل تريد عدم تكرار الزياره مره ف ياليوم أو الاسبوع أو الشهر أو السنه كيف تريد أن تبني الشرط الخاص بالتاريخ بالنسبه للمدرسه لوحدها كما قلت لك يمكن أن تجعل رقم المشرف و رقم المدرسه مفتاح أساسي , لكن لا بد أن تعرف الشرط الخاص بالتاريخ أولا 1
ابورغد قام بنشر ديسمبر 19, 2004 الكاتب قام بنشر ديسمبر 19, 2004 اكرر شكري لك اخي رضوان بالنسبة للزيارة الخاصة بالمدرسة فانا أرغب اللا تتكرر للمدرسة في نفس اليوم والشهر والسنة فيوم السبت مثلاً الموافق 1\1\1425 هناك زيارة للمدرسة رقم 500 للمشرف رقم 1 ويوم الأحد الموافق 2\1\1425 هناك زيارة للمشرف نفسة لكن في مدرسة رقم 501 وهكذا لكن اذا قمت بتسجيل زيارة للمشرف رقم 2 في يوم 1\1\1425 للمدرسة رقم 500 هنا يتحقق الشرط الذي أريد اما بالنسبة لوضع رقم المشرف ورقم المدرسة مفتاح اساسي فهذا يسبب لي مشكلة لانه يوجد زيارات للمشرف في نفس المدرسة اكثر من مرة في العام الواحد اي انه يمكن ان يقوم المشرف زيارة مدرسة معينه اكثر من مرة سواء في الأسبوع الواحد او الشهر الواحد اما بالنسبة لعدم وضعي التاريخ بالتنسيق الطويل فهذا يسبب لي مشاكل في ادخال التاريخ لانه سوف يوزع البرنامج على الشبكة ويقوم كل مشرف بوضع خططة الخاصة بنفسة ، ولتفادي ذلك فقد جعلت التاريخ عبارة عن ثلاثة حقول في الجدول ويتم ادخالة عن طريف النموذج بواسطة قوائم تحرير وسرد فالهدف هو عدم تكرار زيارة المدرسة الواحده في نفس اليوم والشهر والسنه واعطاء رسالة تنبيه بذلك ولعلي اوضح لك ذلك بالكود التالي If DCount("school", "Tvisit", "school = forms!visit!visit1!school") > 1 Then If DCount("day", "Tvisit", "day = forms!visit!visit1!day") > 1 Then If DCount("visit_id", "Tvisit", "visit = forms!visit!visit1!visit_id") > 1 Then If DCount("day_1", "Tvisit", "date_d = forms!visit!visit1!day_1") > 1 Then If DCount("day_2", "Tvisit", "date_m = forms!visit!visit1!day_2") > 1 Then If DCount("day_3", "Tvisit", "date_y = forms!visit!visit1!day_3") > 1 Then If MsgBox(" هذه المدرسة قد سجل لها زيارة في نفس اليوم من قبل مشرف آخر ", vbMsgBoxRight + vbYesNo + vbDefaultButton2, "الاشراف التربوي ") = vbYes Then DoCmd.GoToRecord , , acNewRec Cancel = True Else If MsgBox("هل تريد عرض الزيارات المشابهة", vbMsgBoxRight + vbYesNo + vbDefaultButton2, "الاشراف التربوي") = vbYes Then DoCmd.SetWarnings False DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70 DoCmd.OpenForm "visit6" (visit6)= نموذج مصدر بياناته عبارة عن استعلام ويقوم بعض الزيارات المتشابهه للزيارة المسجلة حالياً Else MsgBox "اذا عليك تسجيل الزيارة من جديد ", vbMsgBoxRight + vbOKOnly + vbDefaultButton2, "الاشراف التربوي " DoCmd.SetWarnings False DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70 Cancel = True End If End If End If End If End If End If End If End If End Sub ارجوا أن اكون قد اوضحت واتقدم لك بالشكر الزيل اخي رضوان ولدي طلب آخر وهو عند فتح النموذج visit6 كيف يكون المعيار الخاص بذلك وخاصة أن النموذج كما هو موضح بالكود يحتوي على نوذجين visit = النوذج الأصلي visit1= النموذج الفرعي والذي من خلاله يتم تسجيل الزيارات
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.