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

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

قام بنشر

السلام عليكم

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

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

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

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

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

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

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


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