اذهب الي المحتوي
أوفيسنا

كتابة رقم الفصل فى حقل رقم الفصل تلقائيا


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

السلام عليكم

لدى جدول به أسماء الطلاب

وبه حقل رقم الفصل

وبعد ترتيب الطلاب حسب المجموع

أردنا توزيعهم على أربعة فصول

أريد كودا أو أى طريقة أخرى

للكتابة فى حقل رقم الفصل هكذا

1

2

3

4

ثم

1

2

3

4

وهكذا

بدلا من كتابتها يدويا

مع جزيل الشكر

رابط هذا التعليق
شارك

اهلا ابا عمر

هو في مكانه الصحيح ولكن لا ينتبه له

وانتظارك هذا فيه وجه شبه من شهرنا الذي نحن فيه

حيث ان الصيام فيه تذكير للغني لاخيه المحتاج . فتقبل الله طاعتك

هذا مثال لتوزيع الطلاب على الفصول . لاحظ جدول الفصول

المثال : للأخت زهرة غفر الله لنا ولها

توزيع.rar

رابط هذا التعليق
شارك

أشكر لك صنيعك

وكل عام أنتم بخير

لكن الحق أن هذا الكود صعب الفهم

Public Sub division(acTbl1 As String, Fld1 As String, Tbl2 As String, Fld2 As String, Num1 As Long, Num2 As Long, Optional DType As Byte = 0)

Dim RC1 As Object, RC2 As Object, R As Long

   Set RC1 = CurrentDb.OpenRecordset(acTbl1)

   Set RC2 = CurrentDb.OpenRecordset(Tbl2)

   RC1.MoveFirst

   Do While Not (RC1.EOF)

      RC1.edit

      RC1.Fields(Fld1) = RC2.Fields(Fld2)

      RC1.Update

      RC1.MoveNext

      If DType = 1 Then

        R = R + 1

        If R = Num2 Then

            RC2.MoveNext

            R = 0

        End If

      Else

        RC2.MoveNext

        R = R + 1

        If R = Num1 Then

            RC2.MoveFirst

            R = 0

        End If

      End If

      If RC2.EOF Then RC2.MoveFirst

   Loop

رابط هذا التعليق
شارك

الأخ الفاضل أبا خليل

لو تكرمتم بإدراج تعليق و لو بسيط على كل سطر بهذا الكود

أكون شاكرا لك

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

لم أعتد استخدام شىء قبل فهمه أولا

رابط هذا التعليق
شارك

اخي تسعدني خدمتك

كنت اظن ان الفروقات لا تذكر بين الاكسس والاكسل خاصة في الوحدات النمطية


'ما بين القوسين اعلان عن متغيرات تمثل جدولين وحقلين وهو الترتيب الذي سيتم تطبيقه عند استدعاء الوحدة النمطية

Public Sub division(acTbl1 As String, Fld1 As String, Tbl2 As String, Fld2 As String, Num1 As Long, Num2 As Long, Optional DType As Byte = 0)

Dim RC1 As Object, RC2 As Object, R As Long  'الاعلان عن متغيرات

   Set RC1 = CurrentDb.OpenRecordset(acTbl1)  'أسند للكائن RC1 فتح الجدول acTbl1 لتمنكن من الإضافة إليه لاحقا

   Set RC2 = CurrentDb.OpenRecordset(Tbl2)    'أسند للكائن RC2 فتح الجدول Tbl2 لتمنكن من التعامل معه لاحقا

   RC1.MoveFirst                              'الذهاب لأول سجل

   Do While Not (RC1.EOF)                     'نفتح حلقة الدوران ( تنفيذ الكود التالي حتى آخر سجل )

      RC1.edit                                'تحرير الكائن

      RC1.Fields(Fld1) = RC2.Fields(Fld2)     'حقل الكائن الأول يساوي حقل الكائن الثاني

      RC1.Update                              'تحديث

      RC1.MoveNext                            'انتقال للسجل التالي

      If DType = 1 Then                            'هذا المتغير اختياري يتم تجاهله في حال عدم تحقق الشرط

        R = R + 1                 'عداد للسجلات

        If R = Num2 Then         '( اذا كان عدد السجلات المحررة يساوي الرقم الثاني  )'الرقم الثاني وهو يمثل عدد الطلاب في الشعبة

            RC2.MoveNext     'انتقال للسجل التالي من الجدول الثاني

            R = 0     'بفرض انتهت السجلات سنبدا بعدها العد من جديد

        End If ' نهاية الشرط

      Else             'والا يتم الانتقال للجدول الثاني

        RC2.MoveNext 'انتقال للسجل التالي

        R = R + 1  'عداد للسجلات

            If R = Num2 Then         '( اذا كان عدد السجلات المحررة يساوي الرقم الاول )'الرقم الاول وهو يمثل عدد الشعب

            RC2.MoveFirst 'الذهاب لأول سجل من الجدول الثاني

            R = 0  'العد من جديد

        End If 'نهاية الشرط

      End If   'نهاية الشرط

      If RC2.EOF Then RC2.MoveFirst   ' الذهاب للسجل الاول عند نهاية السجلات من الجدول الثاني

   Loop  ' نهاية الحلقة

   Set RC1 = Nothing 'اغلاق الكائن لتحرير الذاكرة

   Set RC2 = Nothing 'اغلاق الكائن لتحرير الذاكرة

End Sub


رابط هذا التعليق
شارك

الفاضل أبا خليل

كفيت و وفيت

جزاك الله خيرا

أؤكد لك أن كثيرين سيستفيدون من هذه الأسطر

بسبب هذه التعليقات القيمة

وفقك الله لكل خير

وجارى الدراسة و العمل

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information