صالح حمادي قام بنشر أغسطس 1, 2016 قام بنشر أغسطس 1, 2016 (معدل) السلام عليكم و رحمة الله و بركاته. الكل يعلم أن هناك مشاكل عديد تحصل عند حقل من نوع ترقيم تلقائي، و من أهمها التسلسل عند حذف سجل معين يختل التسلسل الرقمي. لذلك اقترح حلا ربما يكون مناسبا لتعويض حقل الترقيم التلقائي. هذا الحل يقوم بما يلي : 1- إضافة رقم تلقائيا و متسلسلا كلما أضفنا سجل جديد. 2- يقوم بإعادة ترقيم جميع السجلات عند حذف سجل معين من أجل الحفاظ على التسلسل الرقمي. الكود كالتالي: في حذث الحالي للنموذج نكتب: Me.الرقم = CurrentRecord في حدث عند النقر لزر الحذف نكتب: On Error Resume Next DoCmd.RunCommand acCmdDeleteRecord Me.Requery DoCmd.GoToRecord , , acNext For i = 1 To Me.Recordset.RecordCount Me.الرقم = CurrentRecord Next i DoCmd.GoToRecord , , acLast لكم التعليق و الإضافة أو إكتشاف الأخطاء و تحسينها. تقبلوا تحيات أخوكم صالح حمادي... تعويض الترقيم التلقائي.rar تم تعديل أغسطس 1, 2016 بواسطه صالح حمادي 3
co2002co قام بنشر أغسطس 2, 2016 قام بنشر أغسطس 2, 2016 السلام عليكم ورحمة الله وبركاته اسعد الله صباحك بكل خير طيب اذا كان هناك حقول فارغه بالجدول لكن الرقم التسلسلي موجود وهذا الامر يسببه الضغط المتكرر على انتر هل من حل مشكله المثال المرفق هو حساب العدد وليس تصحيح الارقام قم بحذف سجلات من الجدول ومن ثم ارجع ل النموذج واضف سجل جديد ستلاحظ ما اتكلم عنه 1
صالح حمادي قام بنشر أغسطس 2, 2016 الكاتب قام بنشر أغسطس 2, 2016 السلام عليكم شكرا أخي على هذه الملاحظة المهمة. 3 ساعات مضت, co2002co said: طيب اذا كان هناك حقول فارغه بالجدول لكن الرقم التسلسلي موجود وهذا الامر يسببه الضغط المتكرر على انتر لا يمكن اضافة حقول فارغة بعد الآن لقد أصحلت الأمر حتى و لو قمت بالضغط المتكرر على انتر. 3 ساعات مضت, co2002co said: مشكله المثال المرفق هو حساب العدد وليس تصحيح الارقام قم بحذف سجلات من الجدول ومن ثم ارجع ل النموذج واضف سجل جديد ستلاحظ ما اتكلم عنه أما هذه الملاحظة فلم أفهمها يا ريت أخي تعاود تشرح أكثر. تعويض الترقيم التلقائي.rar 2
co2002co قام بنشر أغسطس 2, 2016 قام بنشر أغسطس 2, 2016 السلام عليكم ورحمة الله وبركاته اسعد الله مسائك بكل خير شغل عدل ويعطيك الف عافيه بالنسبه للملاحظه الي قصدته بالمثال السابق هو الاتي لما تحذف اي اسم من الجدول مباشره وتقوم ب اضافه اسم جديد فان الترقيم بالجدول يكون 9 على حسب عدد الاسماء بالجدول اما الرقم التسلسلي فوق 12 او اكثر ملاحظتي على التعديل الجديد طيب لو كان المستخدم يعتمد على الرقم التسلسلي ب مفتاح اساسي لبرنامجه يعني خلينا نفترض ان الرقم التسلسلي هو رقم فاتوره وانت تعتمد على رقم الفاتوره للرجوع لها بسرعه بس لما يتم تغيير التسلسل اعتقد ضاع كل شي مثالك اكثر من رااااااائع خصوصا للي ما يهمه الرقم ك مرجع اساسي وبعد عجبتي بساطة الكود يعطيك الف عافيه 1
رمهان قام بنشر أغسطس 2, 2016 قام بنشر أغسطس 2, 2016 اخي صالح اسمح لي بالتعقيب عندما نظرت للكود لم اتوقع عمله كما هو مضمون بعنوان ونص الموضوع ! فقمت بتحميل الملف والتجربة ولم يقم بما ذكرت حيث لا يعطي التسلسل وهناك رسالة خطأ في تكرار المفتاح الاساسي قمت بالتعديلات التالية وحسب فكرتك : 1. الكود خلف زر الحذف Private Sub حذف_Click() On Error Resume Next DoCmd.RunCommand acCmdDeleteRecord Me.Requery For i = 1 To Me.Recordset.RecordCount Me.الرقم = CurrentRecord DoCmd.GoToRecord , , acNext Next i End Sub وتلاحظ الدوران على كل السجلات واضافة رقم السجل للحقل الرقم وهذا اكثر منطقيا . ولم يعد للحدث في الحالي للنموذج اهمية بل انه لايستحب ان يكون هناك تحرير للسجلات في حدث الحالي للنموذج 2. حدث سجل جديد Private Sub اضافة_Click() DoCmd.GoToRecord , , acNewRec Me.الرقم = CurrentRecord End Sub كما ان هناك تنبيه انه يمكن ان ياخذ حقل الرقم قيمة الدوران i بدلا من currentrecord فهما نفس القيمة بالتوفيق 1
صالح حمادي قام بنشر أغسطس 2, 2016 الكاتب قام بنشر أغسطس 2, 2016 (معدل) السلام عليكم و رحمة الله و بركاته أخي. 7 ساعات مضت, co2002co said: ملاحظتي على التعديل الجديد طيب لو كان المستخدم يعتمد على الرقم التسلسلي ب مفتاح اساسي لبرنامجه يعني خلينا نفترض ان الرقم التسلسلي هو رقم فاتوره وانت تعتمد على رقم الفاتوره للرجوع لها بسرعه بس لما يتم تغيير التسلسل اعتقد ضاع كل شي أخي لك جزيل الشكر على الملاحظات التي تقدمها. أعتقد أن الذي يعتمد على رقم الفاتورة لا يهمه أمر تسلسل الأرقام فهو ليس لديه مشكلة مع الترقيم التلقائي. 3 ساعات مضت, رمهان said: اخي صالح اسمح لي بالتعقيب أخي و أستاذي رمهان مشكور على المداخلة و يسرنا تعقيبك على هذه المواضيع فهذا يجعلنا نستفيد منك الكثير جزاك الله كل خير. بارك الله فيك على التعديل الذي أجريته فقد مكننا من تحسين الكود و عمل البرنامج. فقط أضيف هذا الكود لإخفاء الرسائل التحذيرية الخاصة بالحذف. DoCmd.SetWarnings False DoCmd.RunCommand acCmdDeleteRecord DoCmd.SetWarnings True ليصبح الشكل الجديد للبرنامج كما في المرفق: تعويض الترقيم التلقائي.rar تم تعديل أغسطس 2, 2016 بواسطه صالح حمادي 1
AlwaZeeR قام بنشر أغسطس 3, 2016 قام بنشر أغسطس 3, 2016 السلام عليكم ورحمة الله وبركاته مشكور اخي صالح على هذه المشاركة ولكن لي ملاحظة بسيطة: لو كان عدد السجلات يفوق 2000 سجل هل كلما حذفت سجلا سانتظر ان يقوم الكود بالدوران عليها كاملة!!! أنا أفضل ان يتم وضع الكود تحت زر امر وعند الانتهاء من اضافة او حذف السجلات نضغط مرة واحدة :: تحياتي 1
co2002co قام بنشر أغسطس 3, 2016 قام بنشر أغسطس 3, 2016 ملاحظتي على التعديل الجديد طيب لو كان المستخدم يعتمد على الرقم التسلسلي ب مفتاح اساسي لبرنامجه يعني خلينا نفترض ان الرقم التسلسلي هو رقم فاتوره وانت تعتمد على رقم الفاتوره للرجوع لها بسرعه بس لما يتم تغيير التسلسل اعتقد ضاع كل شي انا اتكلم اذا كان رقم التسلسل هو نفسه رقم الفاتوره فاتوره رقم 1 فاتورة رقم 2 رفاتوره رقم 3 الخ يعني لو حذفت فاتورة رقم 2 راح تحل فاتوره رقم 3 مكان فاتوره رقم 2
صالح حمادي قام بنشر أغسطس 3, 2016 الكاتب قام بنشر أغسطس 3, 2016 10 ساعات مضت, alwazeer said: السلام عليكم ورحمة الله وبركاته مشكور اخي صالح على هذه المشاركة ولكن لي ملاحظة بسيطة: لو كان عدد السجلات يفوق 2000 سجل هل كلما حذفت سجلا سانتظر ان يقوم الكود بالدوران عليها كاملة!!! أنا أفضل ان يتم وضع الكود تحت زر امر وعند الانتهاء من اضافة او حذف السجلات نضغط مرة واحدة و عليكم السلام و رحمة الله و بركاته أخي الوزير شرفتنا بمشاركتك معنا. نعم هذه الملاحظة جد مهمة في حال أننا حذفنا أكثر من سجل سوف يكون لدينا الكثير من الوقت الضائع و هذه الملاحظة تجعلنا نستفيد من هذا الوقت. شكرا جزيلا أخي
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.