اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الردود الموصى بها

قام بنشر

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

في الجدول حقل اسم المدرسة وحقل اسمه t1 المطلوب ترقم الحقل t1 حسب اسم المدرسة يعني مثلا اسم المدرسة النصر ثلاث سجلات يتم ترقيمها من 1 الى 3 وهكذا لبقيه المدارس 

New Microsoft Access Database.rar

قام بنشر

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

 

ماهو هدفك من الترقيم بهذه الطريقة ؟

لعله توجد طريقة أفضل من هذه بإنشاء جدول آخر يتم وضع فيه السجلات الخاصة بكل مدرسة .. 🙂 

قام بنشر (معدل)

استاذي العزيز لا احتاج جدول احتاج فقط الترقيم وشاكر لك  وفي حالة تم حذف سجل وتم اضافة سجل من نفس المدرسة يعطيني ترقيم جديد 

تم تعديل بواسطه ابو عبد الرحمن العراقي
قام بنشر (معدل)

في هذه الحالة هذي تُعمل في فورم وليس في الجدول مباشرة ..

تضع هذا الكود في حدث بعد التحديث لاسم المدرسة :

Private Sub اسم_المدرسة_AfterUpdate()

Dim N As Integer

N = Nz(DMax("t1", "جدول1", "[اسم المدرسة]='" & Me.اسم_المدرسة & "'") + 1, 1)
Me.t1 = N

End Sub

بشرط كتابة اسم المدرسة بشكل صحيح لكي يتعرف عليه الكود .

وعند إضافة سجل جديد سيعطيك الرقم التالي لأكبر رقم مسجل في الجدول لنفس المدرسة 🙂 

image.png.abd2a5c3f4f6c3977afcdb6ee59773fb.png

image.png.c57fc9bc760b5c65a07beab8ce53d81e.png

New Microsoft Access Database.accdb

تم تعديل بواسطه Moosak
  • Like 2
قام بنشر (معدل)

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

تم تعديل بواسطه ابو عبد الرحمن العراقي
قام بنشر
3 ساعات مضت, ابو عبد الرحمن العراقي said:

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

الله يبارك فيك أخي أبو عبدالرحمن .. 🌹

هل جربت المرفق ؟ .. كود ال VBA  الذي وضعته لك يقوم بما ذكرته .

أم تقصد أنك تريد طريقة لإعادة ترقيم أسماء المدارس السابقة في قاعدة البيانات لديك ؟

  • تمت الإجابة
قام بنشر (معدل)
منذ ساعه, ابو عبد الرحمن العراقي said:

انا احتاج يعطيني الترقيم بضغطة زر واحده لكل السجلات

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

أولا قمت بتغيير أسماء جميع العناصر والحقول إلى اللغة الإنجليزية لكي يسهل التعامل مع الأكواد 🙂 

ثم أضفت هذا الكود على زر إعادة الترقيم  :

Private Sub ReNumbringBtn_Click()

Dim DB As dao.Database
Dim RS As dao.Recordset

Set DB = CurrentDb
Set RS = DB.OpenRecordset("Table1")

' تصفير الأرقام للبدأ من جديد
DoCmd.SetWarnings False
DoCmd.RunSQL ("update table1 set t1 = 0")
DoCmd.SetWarnings True

' إعادة الترقيم
With RS
    .MoveFirst
    Do Until .EOF
        .Edit
        !t1 = Nz(DMax("t1", "Table1", "[SchoolName]='" & !SchoolName & "'") + 1, 1)
        .Update
        .MoveNext
    Loop
End With

Set DB = Nothing
Set RS = Nothing

DoCmd.OpenTable "table1"
MsgBox "تم ترقيم المدارس بنجاح", vbOKOnly, "انتهى"

End Sub

والآن يمكنك تجربته ولا تنسى تغيير المسميات التي في الكود لتوافق المسميات الموجودة لديك 🙂

ReNumbring.thumb.gif.a6f683af4668e0ea3c87dc324124a322.gif

المرفق :

Numbring.accdb

تم تعديل بواسطه Moosak
  • Like 2

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information