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

هدية : طريقتي في الترقيم التلقائي ارجو تجريبها واعطاء الرد

مغلق
بدأه همام ابوعرقوب في 1 مارس 2007 · 24 رد · 6,240 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخواني في منتدى اكسس

اقدم لكم طريقتي في الترقيم التلقائي اتمنى ان تجربوها وتقولو ما هي الأخطاء ان وجدت

لقد جربتها بكل الاحتمالات

يقوم البرنامج باستدعاء دالة ترقيم تلقائي عند الحذف فتقوم باعدة ترقيم كافة السجلات من 1 الى النهاية

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

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

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

هدية لكم

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

لا تنسونا من دعوة صالحة

اخوكم همام

AutoNumberHammam.rar

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

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

#2

اخي همام

مثال رائع و منكم نستفيد

اتمنى لك التوفيق

#3

بارك الله فيك وجزاك الله خير اخي همام

مثال رائع رائع رائع

الله يعطيك العافيه

الحيقيقه اانا ماعندي ملاحظات لاني مااقدر اعقب على استاذ خبير مثلك

جزاك الله خير

اتق الله حيث ماكنت

#4

الأخ الفاضل ... همام

شكراً على المثال الجميل ، ولدى ملاحظة ... عند أستخدام هذا الحقل كمفتاح خارجى ( Foreign Key ) فى علاقة مع مجموعة جداول أخرى ، تحتوى على كمية من البيانات ، فهذا يستلزم التغير فى كل هذه الجداول فى كل عملية حذف (وذلك بأستخدام خاصية التحديث التلقاتى فى محرر العلاقات) أما بدون هذه الخاصية فهذا سيؤدى إلى لخبطة فى كل العلاقات الخاصة بهذا الـمفتاح الذى تم إعادة ترتيبه

كذلك لاحظ تغير الارقام القديمة للاصناف، فمثلا صنف cd كان يأخذ رقم 673 ، فى كل عملية حذف يأخذ رقم جديد (بناءاً على إعادة الترتيب)

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

كذلك لا يتم عرض الأرقام مسلسلة عند الترتيب بأستخدام حقل أخر غير (Idn) "عند الترتيب بالأسم مثلاً"

لدى ملاحظة أخرى ... المثال يعيد ترتيب الأصناف بناءاً على ترتيبها فى قاعدة البيانات، وترتيب الدخول غالباً لايستخدم عند استخدام order by لذا لتقليل كمية التغيرات ، يمكنك اكتشاف الأرقام الغير مستخدمه فى الأصناف (المحذوفة) وإعادة تخصيصها لأخر عنصر فى الجدول وهكذا حتى الإنتهاء...

للتوضيح .... لو لدينا جدول يحتوى 200 صف، وتم حذف الصف رقم 10، فسيتم التغير فى 190 صف تقريباً ، أما لو أعطيت الرقم 10 (المحذوف) للعنصر رقم 200 ، فسيتم التغير فى عنصر واحد فقط ، وعندها يمكن استخدام (Order by nID) ليظهر التسلسل مظبوط

لتوضيح الفكرة أكثر يوجد مثال لإعادة استخدام الارقام المحذوفة فى: /index.php?showtopic=110616

ولدى اقتراح لعرض أرقام متسلسة للصفوف، فيمكن ذلك من خلال جملة SQL بدون المساس بالجدول، أو تغير قيمة المفتاح الأساسى، وبأى ترتيب تريده - جرب التالى :

SELECT (Select Count(*) From Table1 Where Idn <= T1.Idn) AS SNumber, T1.* FROM Table1 AS T1

أو للترتيب بالاسم مثلاً (Names) جرب التالى:

SELECT (Select Count(*) From Table1 Where Names <= T1.Names) AS SNumber, T1.* FROM Table1 AS T1 ORDER BY Names

واسمح لى ان استخدمة الجدول المرفق فى مثالك لتوضيح الفكرة بمثال:

SelfNumbering.zip

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

مثال جميل ، وفى إنتظار المزيد من التحسينات

شكراً

SelfNumbering.zip

تم تعديل هذه المشاركة بواسطة Eng. Usama El-Mokadem في 1 مارس 2007 في 16:48

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#5

اخي اسامة ملاحظاتك بناءة وفي محلها طبعا انت خبير وهذا يحسب لك

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

ولكني قمت بعمل الطريقة فقط للجداول المفردة ولهذا فهي صالحة

بالنسبة للترتيب لا اظن انه من المنطقي تغيير الابقاء على التسلسل عند ترتيب الحقول باالاسم بدلا من الرقم التلقائي لان هذا يتطلب ان يكون حقل الترقيم التلقائي ليس مفتاحا

كل ملاحظاتك ساخذها بعين الاعتبار من اجل تحسين المرفقات

الله يخليك ومشكور على التوضيح والشرح

اخوك همام

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

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

#6

الأخ الفاضل همام

شكراً على أهتمامك

اقتباس
بالنسبة للترتيب لا اظن انه من المنطقي تغيير الابقاء على التسلسل عند ترتيب الحقول باالاسم بدلا من الرقم التلقائي لان هذا يتطلب ان يكون حقل الترقيم التلقائي ليس مفتاحا
ما أقصده بـ
اقتباس
عند الترتيب بالأسم مثلاً

أنه فى كثير من الأحيان نقوم بعرض البيانات مرتبة بناءً على الأسم أو التاريخ أو ... إلخ ، وليس بشرط بناءَ على ID وفى هذه الحاله سيكون عرض الـ ID غير مسلسل، وبالتالى عند استغلال الارقام المحذوفة فى الصفوف الأخيرة، فإن عدم التسلسل لن يكون مشكلة، وسيحتوى الجدول على ارقام من رقم 1 إلى أخر صف (ليس بالضرورة متسلسلة)، هذا ما قصدته

شكراً

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#7

السلام عليكم اخوانى

هذه ايضاً طريقة اخرى قمت بتجربتها لأحدى الأخوات و تقوم بعمل ترقيم تلقائى فى الاستعلام

/index.ph...st&p=599601

وشكرا لكم

#8

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

الأخ همام الله يجزاك كل خير على هذه الطريقة

لاشك انه مفيدة مع الجداول المفردة كما تفضلت .. مزيدا من التألق أخي همام .. بورك فيك

شكرا لكل الإخوة على مداخلاتهم المثمرة .. وفقكم الله

اكسيرالحياة

#9

الأخ الفاضل ... fractaledge3 شكراً جزيلاً

أعلم أنى أستخدمت هذه الطريقة من قبل فى الموضوع: /index.php?showtopic=106000 - ولكنى فضلت إعادة طرحها بدلاً من الإشاره الى الموضوع تسهيلاً على القارئ بلاً من الإنتقال لموضوع أخر ثم الرجوع مرة أخرى

شكراً

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#10

مشكورين جميع الاخوة على تفاعلهم وملاحظاتهم

كلها كانت بناءة ومهمة وتستحق التقدير

طبعا قمت بتعديل بسيط هدفه اعطاء البرنامج فعالية اكثر عند ادخال سجلات جديدة

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

انظرو المرفق واعطو رأيكم!!

ارجو لكم التوفيق...

مشكورين على مروركم وان شاء الله مزيد من البرامج الجديدة

اخوكم همام

AutoNumberHammam.rar

تم تعديل هذه المشاركة بواسطة همام ابوعرقوب في 6 مارس 2007 في 22:41

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

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

#11

ارجو من الأخ اكسير ابداء رأيه في التعديل الجديد والتوصية بالتحسينات

أخوك همام

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

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

#12

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

#13

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

الاخ الفاضل همام

اخي ارجوا المساعده في تعديل هذا المثال المرفق

حاولت ان اطبق المثال الي سويته حق طريقة الترقيم التلقائي

على القاعده المرفقه

لكن كل محاولاتي باءت بالفشل حاولت وحاولت لكن بدون نتيجه

ماادري وش الخطاء الذي عندي

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

بارك الله فيك وجزاك الله خير

تحياتي واحترامي

hh.rar

اتق الله حيث ماكنت

#14

تفضل عزيزي وعذرا منك على التأخير والله ما انتبهت للمشاركة الأخيرة الا اليوم..

المشكلة كانت ان حقل الترقيم التلقائي جاهز في تصميم الجدول وهذا لا يجوز في طريقتي.,.

تفضل

همام

hh.rar

تم تعديل هذه المشاركة بواسطة همام ابوعرقوب في 4 أبريل 2007 في 20:02

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

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

#15

بارك الله فيك وجزاك الله خير اخي الفاضل همام

الله يعطيك العافيه

شكرا شكرا شكرا

تحياتي واحترامي

اتق الله حيث ماكنت

#16

جزاكم الله خيرا جميعا ما قصرتو ....

#17

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

وشكرا

#18

بارك الله فيك وجزاك الله كل خير

#19

أخي الفاضل/ همام

برنامج جيد ورائع وإضافة لمجهودك البديع اسمح لي بأن أضيف هذه الفكرة

ستجد في الملف المرفق أسماء طالبات وإذا حذفت أي سجل أو أضفت أي سجل يمكن إعادة الترقيم مرة أخرى اما الجديد هنا أنك إذا غيرت ترتيب الاسماء من حيث الابجدية بأي طريقة فإنه يمكن إعادة الترقيم مرة أخري خاصة وأن إضافة أي سجل جديد يرتب حسب أبجدته أي يدخل في وسط السجلات

أرجوا أن يحوز إعجابك وإعجاب الاعضاء

_____________db3.rar

الله هو الموفق لسواء السبيل

#20

بسم الله الرحمن الرحيم

أخي الكريم خبيرنا الفاضل همام ابو عرقوب

أولا - أدعو الله أن يكون ماتقدمه لإخوانك في ميزان عملك الطيب ياطيب

ثانيا - المثال لاغبار عليه ويؤدي دوره باقتدار منفردا

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

reauto فعلا حركة ذكية .

أخي همام انت تعرف أنه يصعب الحكم الاكيد على جودة اي كود مالم يتم تجربته من كل الجوانب

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

كيف سيكون الوضع ؟

اذا المثال منفردا 100%

والمثال مع برنامج متكامل يحتاج لتجربة أكثر وتمحيص أكثر

دمت ياغالي لنا مبجلا ومكرما وفي رعاية الله

أخوك / Ekseer

#21

اخي اكسير لكم من كل التحية وشكرا على الذوق

ارى انك تنتظر اخوك همام في جديده..وهذا التعديل على البرنامج كاملا..

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

اخوك همام

AutoNumberHammam.rar

تم تعديل هذه المشاركة بواسطة همام ابوعرقوب في 14 أبريل 2007 في 21:26

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

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

#22

أخي الكريم / همام

برنامج رائع وجميل جداً بارك الله فيك ووفقك لما فيه الخير

الله هو الموفق لسواء السبيل

#23

اخي الكريم الاستاذ الباشا قمر الأزمان تحية لك ولك الزملاء المدرسين..

اعذرني لم انتبه لمشاركتك لاني اخذت وقتا في عمل البرنامج ولم يتسن لي الاطلاع..

بصراحة برنامج مفيد جدا للمدارس الثانوية والله يعطيك العافية نتعلم منك الكثير اخي الكريم

شكرا

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

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

#24

السلام عليكم

مشكور أخي همام

لدي سؤال , ما السبب وراء استخدام الترقيم التاقائي(+1) اليدوي واعادة ترتيب السجلات

اكيد لها استخدامات ولكن لا أعلم اين (لم تمر علي من قبل)

وأيضا كما قال الأخ الفاضل المهندس أسامه في المشاركه رقم 4

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

عندي عدة ملاحظات بسيطة

اولا لاحظت عند حذف سجل فانك تعيد ترتيب سجلات الجدول كاملة من الأول الى الاّخر

فلو فرضنا وجود ألف سجل وتم خذف السجل رقم 950 فسيتم المرور على جميع السجلات ال949 السابقة بدون سبب

فالأفضل ان تبدأ الترتيب من مكان السجل المحذوف

وايضا تستطيع استخدام خملة sql لعمل shift لسجل واحد في المثال السابق بعد حذف السجل المحتوي على المفتاح رقم 950 فكل ما يجب فعله هو انقاص واحد من المفتاح للسجلات التي تلي السجل المحذوف مثال

update table1 set idn=idn-1 where idn>950

بالنسبة لأعادة ترتيب السجلات جميعا فبلأمكان استخدام الجملة التالية

update  (select * from Table1 order by idn) AS table1 set Idn = dcount('Idn','Table1','idn<=' & Table1.idn);

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

مثال

UPDATE [select * from Table1 where idn>
(
SELECT TOP 1 idn
FROM (select top 1 0 as idn from table1 where ( select idn from table1 where idn=1)is null
 union
 select top 1 Idn FROM Table1
 where 
 (select Idn from Table1 T where T.Idn=Table1.idn+1 )is null
 order by idn
)
)
 order by idn]. AS table1 SET Idn = dcount('Idn','Table1','idn<=' & Table1.idn);

هنا يتم الترتيب من اول سجل محذوف واذل لم يجد سجل محذوف فأنه لن يعدل شيئ

والله أعلم

سبحانك اللهم وبحمدك أشهد ان لا اله الا أنت

أستغفرك وأتوب اليك

الهم صلي وسلم وبارك على سيدنا وحبيبنا محمد

#25

اخي الخبير محب الرسول بارك الله فيك وشاكر مرورك..

المهم سأجربها هذه الطرق وبإذن الله ستكون الامور سهلة

فعلا معك حق في كل هذه النقاط جميعا ولكن هذا ما وفقني الله في الوصول اليه

ساحاول مجددا وشكرا على المرور..

همام

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

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

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…