بوعبد الله محفوظ قام بنشر فبراير 8, 2016 مشاركة قام بنشر فبراير 8, 2016 السلام عليكم ورحمة الله تعالى وبركاته قمت بإضافة كود في نموذج العملاء يسمح بالحفظ فقط عن طريق زر حفظ عدم السماح بتكرار المعلومات Option Compare Database Private msaved As Boolean Private Sub btnSave_Click() On Error GoTo btnSave_Click_Err On Error Resume Next msaved = True . . . End Sub Private Sub Form_BeforeUpdate(Cancel As Integer) If msaved = False Then Cancel = True Me.Undo Cancel = False End If 'للتأكد من عدم تكرار المعلومات If DCount("[إسم العميل]", "العملاء", "[إسم العميل] = [forms]![العملاء]![إسم العميل]") >= 1 Then Cancel = True Me.Undo MsgBox "إسم العميل الذي أدخلته موجود مسبقا", vbExclamation, "معلومات مكررة" Me.العميل_إسم.SetFocus End If End Sub Private Sub Form_current() msaved = False End Sub المشكلة التي تواجهني الآن هي لو كان العميل مسجل مسبقا وأريد تعديل بعض البيانات بالضغط على زر تعديل عند الحفظ تظهر رسالة تكرار المعلومات كيف يمكن تجاوز هذه المشكلة بارك الله فيكم وفي علمكم الفاتورة 8.rar رابط هذا التعليق شارك More sharing options...
ابوخليل قام بنشر فبراير 8, 2016 مشاركة قام بنشر فبراير 8, 2016 السلام عليكم المشكلة نابعة من وقت الحدث وهو قبل التحديث اذا كنت تسعى لزيادة الضبط في الادخال فاستخدم نموذج ادخال بيانات وللتعديل استخدم نموذج عرض رابط هذا التعليق شارك More sharing options...
بوعبد الله محفوظ قام بنشر فبراير 8, 2016 الكاتب مشاركة قام بنشر فبراير 8, 2016 شكرا سيدي أبوخليل على اهتمامك بلا أنا أريد زيادة الضبط في الادخال وتجنب ما امكن من أخطاء إذا تكرمت علينا بشرح الطريقة لاتي مبتدأ وهذا أول برنامج لي أصل فيه إلى هذا الحد رابط هذا التعليق شارك More sharing options...
ابوخليل قام بنشر فبراير 8, 2016 مشاركة قام بنشر فبراير 8, 2016 معذرة فأنا لم اطلع على المرفق بسبب الاصدار ولكن من واقع تجربة يمكنك التعديل على اسم العميل فقط لان الشرط واقع عليه والطريقة الفضلى لادخال البيانات انيصبح النموذج للادخال فقط من خصائص النموذج / لسان التبويب بيانات /اجعل القيمة : ادخال بيانات=نعم بكذا بمجرد الحفظ سيختفي السجل ولا يمكن التعديل عليه ولا مانع من وضع الضوابط مثل الكود اعلاه اما التعديل فشأنه مختلف ويمكن اجراء التعديل من نموذج آخر لايشتمل على هذا الكود رابط هذا التعليق شارك More sharing options...
بوعبد الله محفوظ قام بنشر فبراير 8, 2016 الكاتب مشاركة قام بنشر فبراير 8, 2016 إذن سأقوم بإنشاء نموذجين الأول : مهمته إدخال البيانات فقط بالضوابط التي أريدها الثاني : مهمته تعديل البيانات إعذرني على جهلي ولكن ألا يمكن تفادي إنشاء نموذجين يأديان نفس المهمة تقريبا هذه هي صورة النموذج لدي رابط هذا التعليق شارك More sharing options...
ابوخليل قام بنشر فبراير 8, 2016 مشاركة قام بنشر فبراير 8, 2016 بلى يمكن العمل على نموذج احد وانما عرضت عليك ما رأيته الافضل جرب : عدل على اسم العميل اولا ثم انتقل الى اي حقل تريد وعدل عليه فسترى انه يقبل والحفظ يستجيب من هذا يمكن ان نقول : يمكنك تعديل الكود حتى يقبل التعديل وذلك بزيادة الشروط حسب الحقول الموجودة فالكود اعلاه يقول : اذا عدد اسم العميل في الجدول اكبر من او يساوي واحد بشرط ان اسم العميل في الجدول يساوي اسم العميل في النموذج . وزيادة الشروط هكذا : اذا عدد اسم العميل في الجدول اكبر من او يساوي واحد بشرط ان اسم العميل في الجدول يساوي اسم العميل في النموذج والعنوان في الجدول يساوي العنوان في النموذج والهاتف في الجدول يساوي الهاتف في النموذج وهكذا ... اذا لم تتمكن من التطبيق سأحاول ارفاق مثال من عندي 1 رابط هذا التعليق شارك More sharing options...
ابوخليل قام بنشر فبراير 8, 2016 مشاركة قام بنشر فبراير 8, 2016 هذا رابط لموضوع يناقش مشكلتك 1 رابط هذا التعليق شارك More sharing options...
بوعبد الله محفوظ قام بنشر فبراير 9, 2016 الكاتب مشاركة قام بنشر فبراير 9, 2016 أستذنا أبو خليل لقد استمتعت بالمناقشة التي دارت بينك وبين الاستاذ رمهان لكن صادفني هذا الكود للاستاذ رمهان If Nz(DLookup("id", "[تنظيم الجدول]", "[كود اليوم]&[الفترة]&[القاعة]&[الدكتور]='" & كود_اليوم & الفترة & القاعة & الدكتور & "'"), 0) <> id Then Cancel = MsgBox("مكرر") لم أستطع استيعاب بناء الجملة إذا تكرمت علينا باستبدال العربية بالانكليزية واعادة كتابة الكود حتى نستوعبه آآآآآآآآآآآآآآسف على كثرة الطلبات رابط هذا التعليق شارك More sharing options...
ابوخليل قام بنشر فبراير 9, 2016 مشاركة قام بنشر فبراير 9, 2016 If Nz(DLookup("id", "[tbl]", "[c]&[f]&[k]&[d]='" & c & f & k & d & "'"), 0) <> id Then Cancel = MsgBox("مكرر") 1 رابط هذا التعليق شارك More sharing options...
بوعبد الله محفوظ قام بنشر فبراير 10, 2016 الكاتب مشاركة قام بنشر فبراير 10, 2016 (معدل) أستذنا أبو خليل لقد قمت بتطبيق المثال الأخير If DLookup("رقم", "جدول", "[إسم العميل]='" & Forms![نموذج]![إسم العميل] & "'") <> رقم Then لكن المشكلة التي واجهتني هي إذا كان إسم "Primary Key" في الجدول يتكون من مقطع واحد مثلا "رقم" اشتغل البرنامج عادي أما إذا كان يتكون من مقطعين كمثل "رقم العميل" وهو الحاصل عندي لا يشتغل البرنامج ومهما غيرت لم أفلح فمرة الشرط لا يشتغل ويسجل كل شيء ومرة لا يسجل أي شيء وأخرى بناء الكود يحتوي على خطأ كما أني لا أستطيع تغير الاسم لأنه مرتبط ببيانات أخرى هذا جزاء من لا يتبع القواعد في التسمية أكاد أجن من هذا الكود ساعدني من فضلك بيانات مكررة.rar تم تعديل فبراير 10, 2016 بواسطه بوعبد الله محفوظ رابط هذا التعليق شارك More sharing options...
ابوخليل قام بنشر فبراير 10, 2016 مشاركة قام بنشر فبراير 10, 2016 لا يمكنني فتح المرفق .. لا املك في جهازي الا الاصدار2003 رابط هذا التعليق شارك More sharing options...
بوعبد الله محفوظ قام بنشر فبراير 11, 2016 الكاتب مشاركة قام بنشر فبراير 11, 2016 لا عليك أستاذنا الكريم لقد وجدت الحل رغم أنني جربته في المرة الأولى إلا أنه لم ينجح وبعد إعادة بناء البرنامج من جديد نجحت التجربة رابط هذا التعليق شارك More sharing options...
الردود الموصى بها
من فضلك سجل دخول لتتمكن من التعليق
ستتمكن من اضافه تعليقات بعد التسجيل
سجل دخولك الان