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

مطلوب ترقيم الطلاب


Ahmed Sary
إذهب إلى أفضل إجابة Solved by محمد أبوعبدالله,

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

لدي جدول به

اسم الطالب : stu_name

نوعه ذكر/أنثى : stu_sex

حالته : مستجد / باق :stu_case

الطلب الأول :

ترقيم الطلبة جميعهم بحيث البنين المستجدون أولاً ثم البنين الباقون ثم البنات المستجدات ثم البنات الباقيات

no_serial  وهذا الترقيم في حقل 

الطلب الثاني :

ترقيم مجموعات كل مجموعة لا تزيد عن 6 طلاب لكل فئة  موضحة بالطلب الأول وبنفس ترتيبهم.

ملحوظة:

بعد انتهاء كل فئة يتم ترقيم مجموعة جديدة من البداية حتى لو لم تكتمل المجموعة بستة طلاب

...................

والمثال المرفق به جدول موضح به الناتج المطلوب

لاحظ المجموعة رقم 23 بها طالبة واحدة لأن الطالبة التي تليها كانت في فئة مختلفة

 

 

Database0.mdb

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

تفضل التعديل

لكي يبدء الترقيم من بدء من رقم 1 

يبجب ان يبدء الترقيم من رقم صفر 0

 

Database0.zip Database0.mdb

تم تعديل بواسطه د.كاف يار
  • Like 3
رابط هذا التعليق
شارك

  • أفضل إجابة

السلام عليكم

بالاضافة الى ما تفضل به اخي الحبيب واستاذي @د.كاف يار وله جزيل الشكر

تفضل اخي الكريم

Option Compare Database
Option Explicit

Private Sub Command0_Click()

       CurrentDb.Execute "UPDATE Table1 SET no_group = Null"
       CurrentDb.Execute "UPDATE Table1 SET no_serial = Null"

       
       Dim mySQL As String
       Dim rst As Recordset, rs As Recordset
       Dim i As Integer, k  As Integer, L   As Integer

        
1 On Error GoTo 2
        mySQL = "Select * From Table1 ORDER BY stu_case , stu_sex "
'        Debug.Print mySQL

        Set rst = CurrentDb.OpenRecordset(mySQL)
        rst.MoveLast: rst.MoveFirst

            For i = 1 To rst.RecordCount
                rst.Edit
                rst!no_serial = i
                rst.Update
                rst.MoveNext
            Next
            rst.Close: Set rst = Nothing


2 On Error GoTo Err
        mySQL = "Select * From Table1 WHERE stu_case = 1 ORDER BY no_serial "
'        Debug.Print mySQL

        Set rst = CurrentDb.OpenRecordset(mySQL)
        rst.MoveLast: rst.MoveFirst
        
            For i = 1 To rst.RecordCount
                For k = 1 To 6
                    rst.Edit
                    rst!no_group = i
                    rst.Update
                    rst.MoveNext
                Next
            Next
            rst.Close: Set rst = Nothing
            
            Call randx
Err:
            Call randx
End Sub

Sub randx()
       Dim mySQL As String
       Dim rst As Recordset, rs As Recordset
       Dim i As Integer, k  As Integer, L   As Integer
       
3 On Error GoTo Err
        mySQL = "Select * From Table1 WHERE stu_case = 2 ORDER BY no_serial "
'        Debug.Print mySQL

        Set rst = CurrentDb.OpenRecordset(mySQL)
        rst.MoveLast: rst.MoveFirst

            L = Nz(DMax("[no_group]", "Table1"), 0) + 1
            For i = L To rst.RecordCount
                For k = 1 To 6
                    rst.Edit
                    rst!no_group = i
                    rst.Update
                    rst.MoveNext
                Next
            Next
            rst.Close: Set rst = Nothing
            
            MsgBox "Done", vbInformation, "Officena"

Err:

End Sub

Database03.rar

تحياتي

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

14 دقائق مضت, محمد أبوعبدالله said:

السلام عليكم

بالاضافة الى ما تفضل به اخي الحبيب واستاذي @د.كاف يار وله جزيل الشكر

تفضل اخي الكريم

Option Compare Database
Option Explicit

Private Sub Command0_Click()

       CurrentDb.Execute "UPDATE Table1 SET no_group = Null"
       CurrentDb.Execute "UPDATE Table1 SET no_serial = Null"

       
       Dim mySQL As String
       Dim rst As Recordset, rs As Recordset
       Dim i As Integer, k  As Integer, L   As Integer

        
1 On Error GoTo 2
        mySQL = "Select * From Table1 ORDER BY stu_case , stu_sex "
'        Debug.Print mySQL

        Set rst = CurrentDb.OpenRecordset(mySQL)
        rst.MoveLast: rst.MoveFirst

            For i = 1 To rst.RecordCount
                rst.Edit
                rst!no_serial = i
                rst.Update
                rst.MoveNext
            Next
            rst.Close: Set rst = Nothing


2 On Error GoTo Err
        mySQL = "Select * From Table1 WHERE stu_case = 1 ORDER BY no_serial "
'        Debug.Print mySQL

        Set rst = CurrentDb.OpenRecordset(mySQL)
        rst.MoveLast: rst.MoveFirst
        
            For i = 1 To rst.RecordCount
                For k = 1 To 6
                    rst.Edit
                    rst!no_group = i
                    rst.Update
                    rst.MoveNext
                Next
            Next
            rst.Close: Set rst = Nothing
            
            Call randx
Err:
            Call randx
End Sub

Sub randx()
       Dim mySQL As String
       Dim rst As Recordset, rs As Recordset
       Dim i As Integer, k  As Integer, L   As Integer
       
3 On Error GoTo Err
        mySQL = "Select * From Table1 WHERE stu_case = 2 ORDER BY no_serial "
'        Debug.Print mySQL

        Set rst = CurrentDb.OpenRecordset(mySQL)
        rst.MoveLast: rst.MoveFirst

            L = Nz(DMax("[no_group]", "Table1"), 0) + 1
            For i = L To rst.RecordCount
                For k = 1 To 6
                    rst.Edit
                    rst!no_group = i
                    rst.Update
                    rst.MoveNext
                Next
            Next
            rst.Close: Set rst = Nothing
            
            MsgBox "Done", vbInformation, "Officena"

Err:

End Sub

Database03.rar 26.83 kB · 0 downloads

تحياتي

ماشاء الله لا قوة الا بالله 

فعلا الابداع لا يعرف الحدود 

فكرة احترافيه بكل ما تعنيه الكلمة

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

11 دقائق مضت, د.كاف يار said:

ماشاء الله لا قوة الا بالله 

حبيبي الغالي ربنا يزيدك ويبارك فيك

دمت لاخيك

تحياتي

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

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