منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
تعديل على كود المجموع - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغات البرمجة الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=4)
+--- قسم : قسم لغة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=18)
+---- قسم : قسم أسئلة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=28)
+---- الموضوع : تعديل على كود المجموع (/showthread.php?tid=40865)



تعديل على كود المجموع - مصمم هاوي - 03-03-22

هذا كود رائع من روائع الأستاذ الفاضل والمهندس الخبير أحمد عبد العليم لجمع الدرجات في الجدول وهو فعالٌ 100%
كود :
Dim RsSum As New ADODB.Recordset
Dim RsShow As New ADODB.Recordset
Dim s As String
s = "100"
If RsShow.State = 1 Then RsShow.Close

RsShow.Open "select * from TBL_Final1", DB, adOpenKeyset, adLockPessimistic
If RsShow.RecordCount > 0 Then
Do While Not RsShow.EOF

If RsSum.State = 1 Then RsSum.Close
RsSum.Open "select ID,tag,TOTAL,result,FINAL,takdeer,iif([result]='ÑÇÓÈ',0,(tr1+tr2+tr3+tr4+tr5+tr6)), " _
& " IIf([tr1]<50 And [tr2]<50 And [tr3]<50 And [tr4]<50 And [tr5]<50 And " _
& " [tr6]<50,'راسب,IIf([tr1]<50 Or [tr2]<50 Or [tr3]<50 Or [tr4]<50 Or [tr5]<50 Or " _
& " [tr6]<50,ناجح,'راسب')),IIf([result]='راسب,0,[TOTAL]/600*100), " _
& " IIf([result]='ÑÇÓÈ',0,IIf([TOTAL]>=550,'ããÊÇÒ',IIf([TOTAL]>500,'ÌíÏ ÌÏÇð',IIf([TOTAL]>400,'ÌíÏ',IIf([TOTAL]>300,'ãÞÈæá',IIf([TOTAL]<78,'/','/')))))) " _
& " from TBL_Final1 where ID=" & RsShow.Fields(0).Value & " and tag=" & RsShow.Fields(33).Value, DB, adOpenKeyset, adLockPessimistic

RsSum.Fields(2).Value = RsSum.Fields(6).Value
RsSum.Fields(3).Value = RsSum.Fields(7).Value
For I = 0 To 1
RsSum.Fields(4).Value = RsSum.Fields(8).Value * 1
RsSum.Fields(5).Value = RsSum.Fields(9).Value

RsSum.Update
RsSum.Requery
Next
RsSum.Update
RsSum.Requery
RsShow.MoveNext
Loop
'
End If
'

المطلوب: التعديل عليه بحيث يشمل عدد مواد الرسوب أي:
* إذا نجح في جميع المواد فهو = ناجح
* وإذا رسب في أقل من 4 مواد فهو = مكمل
* وإذا رسب في أكثر من 3 مواد فهو = راسب

وهذا هو إستعلام من الأكسس أريده تضمينه في الكود السابق
كود :
SELECT TBL_Final2.ID, TBL_Final2.Name_Student, TBL_Final2.alqayd, TBL_Final2.Clas, TBL_Final2.CClas, TBL_Final2.Category, TBL_Final2.Semester, TBL_Final2.on1, TBL_Final2.on2, TBL_Final2.on3, TBL_Final2.on4, TBL_Final2.on5, TBL_Final2.on6, TBL_Final2.on7, TBL_Final2.to1, TBL_Final2.to2, TBL_Final2.to3, TBL_Final2.to4, TBL_Final2.to5, TBL_Final2.to6, TBL_Final2.to7, TBL_Final2.tr1, TBL_Final2.tr2, TBL_Final2.tr3, TBL_Final2.tr4, TBL_Final2.tr5, TBL_Final2.tr6, TBL_Final2.tr7, ([tr1])+([tr2])+([tr3])+([tr4])+([tr5])+([tr6]) AS TOTALL, [TOTALL]/600 AS FINALL, IIf([resultt]="راسب",0,IIf([TOTALL]>=550,"ممتاز",IIf([TOTALL]>=500,"جيد جدا",IIf([TOTALL]>=350,"جيد",IIf([TOTALL]>=300,"مقبول",IIf([TOTALL]<300,"/","/")))))) AS takdeerr, IIf([tr1]>=50,0,1)+IIf([tr2]>=50,0,1)+IIf([tr3]>=50,0,1)+IIf([tr4]>=50,0,1)+IIf([tr5]>=50,0,1)+IIf([tr6]>=50,0,1) AS mcount, IIf([mcount]>3,"راسب",IIf([mcount]<=0,"ناجح",IIf([mcount]<4,"مكمل"))) AS resultt, TBL_Final2.tag
FROM TBL_Final2;