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

كيفية عمل Auto Number

مغلق
بدأه tatatab في 14 يناير 2008 · 4 رد · 2,882 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخوانى اريد ماكرو او استعلام يجعل تكست بوكس ياخذ الترقيم اتوماتيكيا يعنى Auto Number لا اريدها من الجدول مباشرة لاننى لا احفظ البيانات مباشرة من النموذج الى الجدول , فهناك تكست بوكس عندى اريده فى كل مرة اضيف معلومات الى الجدول يقوم لوحده بالترقيم يعنى 1 ومن ثم 2 ومن ثم 3 وهكذا وعند حذف ريكورد مثلا يرتب الترتيب من جديد اريد هذا الموضوع باستخدام كود او استعلام او ماكرو ولكم الشكر

#2

اخي الفاضل

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

لكي نقوم بمثل هذه الخطوات يلزمنا التالي

دالة تقوم بعمل الترقيم التلقائي بواسطة الكود بهذا الشكل

Private Sub Form_BeforeInsert(Cancel As Integer)
	Me!ID = Nz(DMax("[ID]", "[Table]"), 0) + 1
End Sub

حيث الحقل [iD] في الجدول Table عبارة عن حقل رقمي وليس ترقيم تلقائي

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

Private Sub CmdReAutoNumber_Click()
Dim I As Integer
Dim co As Integer
Dim msg As Variant
co = DCount("*", "[Table]")
DoCmd.GoToRecord , , acFirst
For I = Val(txtCount) To co + Val(txtCount) - 1
ID = Str(I)
If I <> (co + Val(txtCount) - 1) Then
DoCmd.GoToRecord , , acNext
End If

Next

End Sub

حيث نلاحظ وجود مربع نص اضافي اسمه txtCount حيث ان هذا المربع تكون قيمته الإفتراضية 1 لكي يبدأ العد والترقيم التلقائي من عنده ولو فتحنا النموذج في وضع التصميم سنجده بهذه الشكل

post-15367-1200328595_thumb.gif

الآن افتح النموذج وقم بإدخال البيانات بدأ من حقل الأسم والرقم اما حقل الـ ID او العدد فإنه سيتم ادراج الترقيم التلقائي به مباشرة بمجرد ادخال اي اسم وعلى افتراض انك ترغب حذف اي سجل سواء من الوسط او البداية او النهاية فكل ما عليك هو الضغط على زر الأمر إعادة الترقيم وسيتم إعادة التلقائي للسجلال بشكل مرتب ومنظم وبإمكانك الذهاب الى الجدول ومشاهدة الترتيب للأرقام .

post-15367-1200329052_thumb.gif

zAutoNumber2008.rar

بالتوفيق إن شاء الله

#3

اختى زهرة بارك الله فيكى على الرد السريع وعلى الايضاح ولكن لى تعليق بسيط اختى انتى فى المثال المرفق تقومى بحفظ المعلومات مباشرة من النموذج اى انه فى Control Source تقومى باعطاءه اسم الجدول مما يعنى انه سيقوم بحفظ المعلومات مباشرة من النموذج الى الجدول لكن فى الحالة التى لدى فانا اقوم بحفظ البيانات من النموذج الى الجدول باستخدام كود معين او Insert بمعنى انه ليس مباشرة من النوذج الى الجدول لم اقم باعطاء النموذج مصدر وهذا ما اريده فى السؤال كيف اقوم بعمل auto number من دون ان اعطه مصدر من الجدول ارجو ان اكون قد وضحت وشكرا لكى

#4

بارك الله فيك اخي الكريم

هل من الممكن ان تضع لنا مثالا من عندك ليتم التعديل عليه مباشرة

#5

هذا مثال اختى زهرة بارك الله فيكى

Test222.rar

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

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