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

توزيع ديناميكيي للجان علي الطلبة


ابوصلاح

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

قام الاخد المبدع محمد عبد الله بعمل كود لتوزيع اللجان علي التلاميذ وهو المطلوب ويعمل الكود بشكل جيد لكن اتضح لي انني بحاجة الي ان يكون ادخال اللجنة بشكل ديناميكي  لانه في المرفق تضع عدد اللجان ويقوم البرنامج بالتوزيع من من رقم لجنة 1 الي العدد المحدد ببساطة مثلا اريد ادخال ثلاث لجان للصف الرابع واريد ان يقوم البرنامج يبد من لجنة 4

On Error GoTo Err:

    Dim mySQL As String
    Dim rst As Recordset
    Dim i As Double, J As Double
    
    If IsNull([cbo_saf]) Then
        MsgBox "اختر الصف اولا", vbCritical, "اوفيسنا"
    Else
       DoCmd.SetWarnings False
       DoCmd.RunSQL "UPDATE emthan_tbl_bianat SET emthan_tbl_bianat.lagna = 0 WHERE (((emthan_tbl_bianat.saf)=[forms]![frm_golos_sry]![cbo_saf]));"
       DoCmd.SetWarnings True
                
        mySQL = "Select * From emthan_tbl_bianat"
        mySQL = mySQL & " WHERE saf ='" & Me.cbo_saf & "'"
        mySQL = mySQL & " ORDER BY golos1"
        
        Set rst = CurrentDb.OpenRecordset(mySQL)
        rst.MoveLast: rst.MoveFirst
        
        For J = 1 To Me.count_legan
            For i = 1 To Me.kk
                rst.Edit
                rst![lagna] = J
                rst.Update
                rst.MoveNext
            Next
        Next
        Me.Requery
    End If
Err:
    If Err.Number = 3121 Then
    Else
    End If

image.png.a2609293a6fb62ea7d8b065aae1148e8.png

توزيع اللجان علي الطلبة.rar

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

3 ساعات مضت, ابوصلاح said:

قام الاخد المبدع محمد عبد الله بعمل كود لتوزيع اللجان علي التلاميذ وهو المطلوب ويعمل الكود بشكل جيد لكن اتضح لي انني بحاجة الي ان يكون ادخال اللجنة بشكل ديناميكي  لانه في المرفق تضع عدد اللجان ويقوم البرنامج بالتوزيع من من رقم لجنة 1 الي العدد المحدد ببساطة مثلا اريد ادخال ثلاث لجان للصف الرابع واريد ان يقوم البرنامج يبد من لجنة 4

هل تقصثد توزيع لجميع الصفوف مرة واحدة ؟

تحياتي

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

اختار الصف ومن ثم احدد رقم اللجنه  عدد اللجان

 

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

استبدل السطر

For J = 1 To Me.count_legan

بالتالي

For J = Nz(DMax("[lagna]", "emthan_tbl_bianat"), 0) + 1 To Nz(DMax("[lagna]", "emthan_tbl_bianat"), 0) + 1 + Me.count_legan

والكود كامل

On Error GoTo Err:

    Dim mySQL As String
    Dim rst As Recordset
    Dim i As Double, J As Double
    
    If IsNull([cbo_saf]) Then
        MsgBox "اختر الصف اولا", vbCritical, "اوفيسنا"
    Else
       DoCmd.SetWarnings False
       DoCmd.RunSQL "UPDATE emthan_tbl_bianat SET emthan_tbl_bianat.lagna = 0 WHERE (((emthan_tbl_bianat.saf)=[forms]![frm_golos_sry]![cbo_saf]));"
       DoCmd.SetWarnings True
                
        mySQL = "Select * From emthan_tbl_bianat"
        mySQL = mySQL & " WHERE saf ='" & Me.cbo_saf & "'"
        mySQL = mySQL & " ORDER BY golos1"
        
        Set rst = CurrentDb.OpenRecordset(mySQL)
        rst.MoveLast: rst.MoveFirst
        
'        For J = 1 To Me.count_legan
        For J = Nz(DMax("[lagna]", "emthan_tbl_bianat"), 0) + 1 To Nz(DMax("[lagna]", "emthan_tbl_bianat"), 0) + 1 + Me.count_legan
            For i = 1 To Me.kk
            
                rst.Edit
                rst![lagna] = J
                rst.Update
                rst.MoveNext
            Next
        Next
        Me.Requery
    End If
Err:
    If Err.Number = 3121 Then
    Else
    End If

توزيع اللجان علي الطلبة_2.rar

تحياتي

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

تم التعديل ليكون الكود كالاتي 

On Error GoTo Err:

    Dim mySQL As String
    Dim rst As Recordset
    Dim i As Double, J As Double
    
    If IsNull([cbo_saf]) Then
        MsgBox "ÇÎÊÑ ÇáÕÝ ÇæáÇ", vbCritical, "ÇæÝíÓäÇ"
    Else
       DoCmd.SetWarnings False
       DoCmd.RunSQL "UPDATE emthan_tbl_bianat SET emthan_tbl_bianat.lagna = 0 WHERE (((emthan_tbl_bianat.saf)=[forms]![frm_golos_sry]![cbo_saf]));"
       DoCmd.SetWarnings True
                
        mySQL = "Select * From emthan_tbl_bianat"
        mySQL = mySQL & " WHERE saf ='" & Me.cbo_saf & "'"
        mySQL = mySQL & " ORDER BY golos1"
        
        Set rst = CurrentDb.OpenRecordset(mySQL)
        rst.MoveLast: rst.MoveFirst
        
'        For J = 1 To Me.count_legan
        For J = num_lagna To Nz(DMax("[lagna]", "emthan_tbl_bianat"), 0) + Me.count_legan
            For i = 1 To Me.kk
            
                rst.Edit
                rst![lagna] = J
                rst.Update
                rst.MoveNext
            Next
        Next
        Me.Requery
    End If
Err:
    If Err.Number = 3121 Then
    Else
    End If

 

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

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