تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
التعديل على كود انشاء ترقيم تلقائي ذاتي
#1
السلام عليكم
ابحث منذ مدة على كود انشاء ترقيم تلقائي ذاتي بدون الاعتماد على المبرمج في الاكسس
و قد وجدت هذا الكود في النت لكنني لم احسن تنفيذه في الفورم
الكود بالمرفقات اجو التعديل عليه


الملفات المرفقة
.rar   test.rar (الحجم : 6.07 ك ب / التحميلات : 126)
الرد }}}}
تم الشكر بواسطة:
#2
هل من مجيــــــــــــــــــــــــــــــــــب
الرد }}}}
تم الشكر بواسطة:
#3
السلام عليكم...

الترقيم التلقائي العددي في جميع محركات قواعد البيانات يعمل في اتجاه واحد و هو الزيادة دون تكرار مع عدم إعادة استعمال القيم التي تم تجاوزها حتى و إن حُذفت. و هذا برايي مشابه للواقع! فإذا كان لدي مثلاً طلبية برقم معين ثم تم إلغاء (حذف) تلك الطلبية فلا يعني ذلك أن لدي خللاً في نظام الترقيم. ببساطة هو يعني أن لدي طلبية ملغية رقمها كذا. و إذا كان لدي طالب برقم قيد معين ثم انتقل إلى مدرسة أخرى فلا يجوز أن أعطي رقمه لطالب آخر... إلخ.

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

الكود المرفق مع السؤال هو كود VBA مأخوذ من Access. و هو - في الحقيقة - كود بدائي، فاستعمال الوظيفة MoveLast للانتقال إلى آخر سجل (في الإجراء BeforeInsert) قد يؤدي إلى تحميل كمية كبيرة من السجلات في الذاكرة. و كذلك الحال مع استعمال حلقة While (في الدالة Init_numeroAuto) حيث سيمر على السجلات واحداً واحداً ! تصور لو أن قاعدة البيانات تحتوي على مئات الآلاف أو الملايين من السجلات... سيستغرق ذلك وقتاً لا بأس به و قد يتوقف البرنامج عن الاستجابة.

على أية حال... في المرفقات مشروع صغير به كل ما تطلب: الحصول على رقم جديد تلقائياً عند الإضافة و إعادة الترقيم فقط بعد الحذف للمحافظة على تسلسل الآرقام.

ستجد في الكود أن إجراء إعادة الترقيم قصير جداً و لا يعتمد على الحلقة التكرارية:
كود :
Private Sub RenumberRecords(ByVal ATable As String, ByVal IDField As String, ByVal DeletedID As Long)
   Dim SQL As String
   
   SQL = "UPDATE " & ATable & " SET " & IDField & " = (" & IDField & " - 1) WHERE (" & IDField & " > " & CStr(DeletedID) & ")"
   Cnn.Execute SQL
End Sub

يحتوي الكود أيضاً على بعض الدوال و الإجراءات المساعدة و التي يمكنك نقلها إلى Module مع تحويل Private إلى Public لاستعمالها في أكثر من Form و في أكثر من مشروع.

نرجو الاستفادة و السلام.


الملفات المرفقة
.rar   Manual Number.rar (الحجم : 11.87 ك ب / التحميلات : 164)
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}}
تم الشكر بواسطة:
#4
السلام عليكم اخي ناجي
الكود التي تفضلت به يعمل تمام و لكني نسيت ان اضيف اني استعمل data control و لا استعمل الكود للاتصال بقاعدة البيانات
حيث و جدت صعوبة في تعديل الكود خاصتك حسب ما اريد
و قد نقلت الدوال و الاجراءات الى موديل و نجحت العملية بقي التعديل على كود الاضافة فقط لتوليد الترقيم باستعمال الداتا كنترول
و نسيت ايضا ان اعلمكم اني مبتدئ في البرمجة
مزيد من المساعدة لو تفضلتم و شكرا
الرد }}}}
تم الشكر بواسطة:
#5
السلام عليكم اخي ناجي
الكود التي تفضلت به يعمل تمام و لكني نسيت ان اضيف اني استعمل data control و لا استعمل الكود للاتصال بقاعدة البيانات
حيث و جدت صعوبة في تعديل الكود خاصتك حسب ما اريد
و قد نقلت الدوال و الاجراءات الى موديل و نجحت العملية بقي التعديل على كود الاضافة فقط لتوليد الترقيم باستعمال الداتا كنترول
و نسيت ايضا ان اعلمكم اني مبتدئ في البرمجة
مزيد من المساعدة لو تفضلتم و شكرا
الرد }}}}
تم الشكر بواسطة:
#6
السلام عليكم

- بعد إذن أخي ناجي إبراهيم . هذا مثالك بعد إضافة كود الأخ ناجي إبراهيم عليه مع تعديله قليلا ليتناسب مع اداة الـDataControl .

- تحياتي .


الملفات المرفقة
.rar   test-Fixed.rar (الحجم : 9.64 ك ب / التحميلات : 155)
الرد }}}}
تم الشكر بواسطة:
#7
شكرا اخي vb.coder تمت الافادة
الرد }}}}
تم الشكر بواسطة:
#8
بارك الله فيك أخي VB_Coder والله العظيم حليت لي مشكلة كبيرة جدا وكانت عاملة لي كوابيس بالليل وأنا نايم , شهر وأنا أفتش عن هذا الكود بارك الله فيك وجزاك الله ألف خير وإن شاء الله في ميزان حسناتك وتقبل فائق إحترامي وتقديري ...
الرد }}}}
تم الشكر بواسطة:
#9
السلام عليكم

- شكرا لك أخي العزيز ، جزاك الله خير .
- تحياتي لك .
الرد }}}}
تم الشكر بواسطة:
#10
بارك الله فيك ودمتم في العطاء
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [vb6.0] ارجو التعديل amer2000 2 135 08-08-16, 03:02 PM
آخر رد: amer2000
Smile انشاء مشروع في الvb.6 كترينا 1 117 07-07-16, 09:38 PM
آخر رد: Amir_alzubidy
  وضع علامة ونص على الصورة وحفظها بعد التعديل أبو عمر 4 275 03-10-15, 02:24 PM
آخر رد: أبو عمر
  [سؤال] طلب عمل كود ترقيم الآلي مبدوء بحرف alfakeeh20 2 571 19-05-15, 12:20 AM
آخر رد: alfakeeh20
  كيف يتم انشاء استعلام كشف حساب مثل الذي في الصوره المرفقة من خلال فجوال البيسك الى قاعدة البيانات ؟؟ softmail8 1 594 16-02-15, 10:32 AM
آخر رد: Ashraf Elafify
  استفسار حول انشاء برنامج بلاحقة (امتداد) com مبرمج الحب 4 586 05-08-13, 05:11 PM
آخر رد: مبرمج الحب
  انشاء قوس asto 3 622 04-08-13, 01:12 AM
آخر رد: asto
  كيف اضع كود لباركوت تلقائي ( في الفيجول بيسك 6 ) الهجري 0 412 22-07-13, 04:49 PM
آخر رد: الهجري
  انشاء تلقائي asto 11 1,437 31-05-13, 06:17 AM
آخر رد: asto
  الرجاء التعديل على السورس تحويل من تايمر الى تايمر wolf1120 9 1,074 22-05-13, 09:53 PM
آخر رد: wolf1120

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم