عندما عملت ترقيم تلقائي قمت بحذف آخر خمسة سجلات....
يعني لو عملت 20 سجل مرقم تلقائياً من 1 إلى 20 وقمت بحذف آخر خمسة يعني بقي لدي 15 سجل ،، أردت إضافة سجل جديد المفترض أن يبدأ الترقيم من العدد 15 ولكن المشكله انه يبدأ من العدد 21 آخر سجل تم حذفه.
عندما عملت ترقيم تلقائي قمت بحذف آخر خمسة سجلات....
يعني لو عملت 20 سجل مرقم تلقائياً من 1 إلى 20 وقمت بحذف آخر خمسة يعني بقي لدي 15 سجل ،، أردت إضافة سجل جديد المفترض أن يبدأ الترقيم من العدد 15 ولكن المشكله انه يبدأ من العدد 21 آخر سجل تم حذفه.
لنفرض لدينا 20 سجل
احزف سجل19
احزف سجل18
احزف سجل17
اضغط البنات
يبدء في سجل 17
==========
في حال حزفت
سجل 15
في بعده سجل 16
الاكسس ما برجع سجل 15
بيدء سجل 17
ان شاء الله تكون فهمت الموضوع
لبنان / قب الياس
/index.php?showtopic=37977
موقع كتب الحاسب العربيه
http://www.cb4a.com/books/
-------------------
شوف انا قمت عمل برنامج وخلال عملي به أدخل عدة سجلات كتجربه حتى انتهيت من البرنامج ،،،،
فقمت بحذف كل السجلات لأنها كانت بمثابة تجربه فقط حتى يتم إدخل البيانات الصحيحة ولكني تفاجئت بأني عند ادخال البيانات من جديد وجدت الترقيم التلقائي أبتدأ من 50 مثلاً وليس من 1 .
بسم الله الرحمن الرحيم
أخي العزيز .. أصنع ترقيم تلقائي بنفسك عن طريق الكود كما يلي :
لدينا جدول اسمه : table1
وبه حقل رقم اسمه : NoID
وفي زر الأمر نكتب الكود التالي
Dim intNOID AS long
intNOID=NZ(Dmax("[intNOID]"."table1",0))
If intNOID=0 then
MsgBox " من فضلك ضع الرقم بنفسك"
Me.NOID.SetFocus
Exit sub
Else
Me.NOID=intNOID+1
End Ifإذا لم يكن في الجدول سجلات ستخرج لك رسالة ضع الرقم بنفسك واكتب الرقم الذي تريد مثلاً 1000
بعد ذلك في المرة الثانية لن يسألك وسيضيف العدد 1001 من تلقاء نفسه
ملاحظة // أقتباس من طريقة أحد الأخوة في المنتدى ..
عزيزي النقيب ما هو قصدك من هذا الحقل ،،، أي ما هي فائدتك منه ،،،
هل لعمل عداد للسجلات ؟؟؟
أم هو لحفظ قيمة لسجل ما للعودة إليه في حال الحاجة ؟؟؟؟
أخي الكريم هذا ما يعمله الترقيم التلقائي ،،، في حال أنك حذفت أي سجل وأضفت سجلاً آخر سوف لن يرجع لك من رقم أخر سجل تمت إضافته ,,,, ولكن سوف يأخذ أخر قيمة تمت إضافتها ويضيف إليها رقما آخر ,,,,
عزيزي ،،، بإمكانك التغلب على هذا الأمر ،،، قم بإلغاء هذا الحقل ذو ( الترقيم التلقائي ) وأضف حقلاً عادي ( رقمي ) ,,,
ضع مع خصائص هذا الحقل في النموذج :
خاصية ( تمكين ) : ( لا )
خاصية ( مؤمن ) : ( نعم ) .
أنشيء ( مربع نص ) أي حقل غير منضم على النموذج وليكن اسمه ( n ) مثلا وضع في خاصية ( مصدر عنصر التحكم ) لهذا الحقل هذا الكود :
n = DCount("[اسم الحقل]", "اسم الجدول")لابد أن هناك حقلاً سوف يبدأ به البرنامج ضع في هذا الحقل في خاصية حدث ( بعد التحديث ) :
n+1=[اسم الحقل]
معنى الكود الأول : هو عمل عداد لجميع السجلات المدخلة في الجدول ،،، أي أنه سوف يأتي لك برقم آخر سجل مدخل بالجدول .
والكود الثاني : سوف يقوم بزيادة ( 1 ) إلى مجموع عدد السجلات المدخلة ويضع هذا المجموع في الحقل المطلوب .
شاكر
المسلم من سلم الناس من لسانه ويده
الاخ العزيز شاكر الزين
نشكرك على مجهوداتك وسرعة ردودك
لك منا كل الشكر على التوضيح الرائع وياريت تكمل جميلك ةترفق مثال على ذلك وتقبل تحياتى وتحيات كافة الزملاء
عنوانى البريدي هو
afify1965 @hotmail.com
يعطيكم ألف عافية
ضبطت معي الطريقة،
الاخوه الاعزاء انا ما ضبطت معى
حاولت وعملت مثال على الطريقتين ولم اصل الى النتيجة التى اريدها وهى العودة بالترقيم الى الرقم واحد مع ادخال البيانات فى اول سجل بعد الحذف والضغط على كود الترقيم التلقائي
على فكره هناك طريقة مسجلة برد الاستاذ العزيز على قلوبنا جميعا بو حمود ولكنها تضيف ارقام من 1 حتى السجل الاخير قبل الحذف
وهذه السجلات فارغة بمعنى انه يضيف التسلسل ولكن بسجلات فارغة
ولكن ما اريدة هو بعد الحذف وعندما ادخل اول سجل من جديد يظهر عندي رقم واحدة فى الحقل الترقيم التلقائي فهل من طريقة
وشكرا للجميع
المسلم من سلم الناس من لسانه ويده
الاخ العزيز شاكر
شكرا لاهتمامك البالغ
و ما اريده بالاضافة الى ذلك هو عمل زر امر عند النقر عليه يعيد ترتيب السجلات بعد حذف احد او بعض السجلات وايضا عند ادخال سجل جديد يكون دائما ترقيمه بعد اخر رقم فى السجلات ولك تحياتي
أخي الكريم ،،،، السلام عليكم ورحمة الله وبركاته
أخي هل تريد بعد حذف عدة سجلات مثلاً :
1
2
3
4
5
6
7
8
9
حذفت مثلا
1
2
3
تريد إعادة ترتيب الارقام :
من 4 إلى 1
من 5 إلى 2
وهكذا إلى جميع السجلات ،،، أي إعادة ترقيم السجلات من الواحد مرة أخرى
هل هذا هو المطلوب ؟؟؟؟ ما الذي تستفيده من هذه الطريقة ؟؟؟؟
وهل هذا الجدول مرتبط بجدول آخر ( بالرقم ) ؟؟؟؟
إذا مرتبطاً بجدول آخر سوف لن تستفيد من إعادة ترتيب الارقام ،،، إلا بعمل ربط
( بفرض التكامل المرجعي ) ،،، ( تتالي تحديث الحقول المرتبطة ) ....
اقتباس
اقتباسوايضا عند ادخال سجل جديد يكون دائما ترقيمه بعد اخر رقم فى السجلات
المثال يعمل كذلك الآن يضيف بعد آخر رقم في السجلات ,,,,
شاكر
تم تعديل هذه المشاركة بواسطة شاكر الزين في 27 سبتمبر 2003 في 00:23
المسلم من سلم الناس من لسانه ويده
الاخ العزيز شاكر
اولاً اشكرك على الاهتمام والرد بسرعة
اقتباس:
اقتباسوهل هذا الجدول مرتبط بجدول آخر ( بالرقم ) ؟؟؟؟
إذا مرتبطاً بجدول آخر سوف لن تستفيد من إعادة ترتيب الارقام ،،، إلا بعمل ربط
( بفرض التكامل المرجعي ) ،،، ( تتالي تحديث الحقول المرتبطة ) ....
نعم الجدول مرتبط بجدول اخر بالرقم وقمت بعمل فرض التكامل المرجعى وتتالى تحديث الحقول المرتبطة
وانا اريد عند تكرار الحذف لا يظهر عندى بعد فترة رقم اكبر بكثير من ارقام السجلات فى القاعدة
ومن جهة اخرى اريد عند حذف السجلات جميعها من القاعدة فى سنه محددة او بعد فترة
ان يعود الترقيم للسجلات من الاول اى من 1 ثم 2 وهكذا ولك منى جزيل الشكر
وفقكم الله لما فيه الخير لنا جميعا
الاخ العزيز شاكر
تحية اجلال وتقدير لشخصك وعلمك الكبير
هذا والله ما اردته
الف الف شكر على افادتى وافادة كل الاصدقاء
بارك الله فيك وجعلك واصدقاء المنتدى العظام (وهم كثيرين والله والجميع يعرفهم) عوناً لنا
الف شكر وجعلها فى ميزان حسناتك
هذا الموضوع مغلق.