تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
سؤال بخصوص الجمع في جدول الداتا قريد
#1
سؤال بخصوص جدول الداتا قريد
أريد جمع درجات الأعمال والامتحان دفعة واحدة ووإظهار المجموع الكلي والنسبة والتقدير والنتيجة
وذلك عند تسجيل درجات الطلبة في مادة معينة.
أعذروني على طلبي، ولكن للأسف المشروع توقف عند هذه النقطة التي لم استطع إيجاد حلاً لها.

المثال من تعديل الأستاذ الفاضل أحمد منصور


.rar   Exim.rar (الحجم : 110.88 ك ب / التحميلات : 44)
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ
الرد }}}
تم الشكر بواسطة: awidan76
#2
انتظر الإجابة من الأساتذة الكرام
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ
الرد }}}
تم الشكر بواسطة: awidan76
#3
كود :
Call ConnectionDatabase


Dim zTotalall As String
Dim znisba As String

Dim fro As Date
Dim Too As Date
fro = Format(DTPicker1, "mm/dd/yyyy")
Too = Format(DTPicker2, "mm/dd/yyyy")

zTotal = "(Select sum(marks) From DrjatTB where DrjatTB.stuID=studentTB.stuID And DrjatTB.FileDate BETWEEN #" & CDate(fro) & "# AND #" & CDate(Too) & "#)"

znisba = "(Select   marks *100/zTotal From DrjatTB where falowTB.ECase= 2  And DrjatTB.stuID=studentTB.stuID AND DrjatTB.FileDate BETWEEN #" & CDate(fro) & "# AND #" & CDate(Too) & "#)"


                                                                                                                                                                                     ' ÌÏæá ÇáÏÑÌÇÊ
RS.Open "Select studentTB.stuID,studentTB.StuN ," & zTotal & " as Total ," & znisba & " as Totansba FROM studentTB INNER JOIN DrjatTB On DrjatTB.DstuID=studentTB.stuID Where DrjatTB.FileDate BETWEEN #" & CDate(fro) & "# AND #" & CDate(Too) & "# Group by studentTB.stuID,studentTB.stuN"
Set DataGrid1.DataSource = RS


اضن ان الكود بيكون بهذا الشكل بخصوص النسبة  
او خذ الفكرة منه  - 
تعليمات اخوانا الغالي احمد منصور
اعز معلمين :
1) Ahmed _Mansoor
2) sniper.ps 
3) myalsailamy
4) ahmedabdelaliem 
5) sendbad100
6)Amir_alzubidy

الرد }}}
تم الشكر بواسطة:
#4
(17-09-19, 01:03 PM)awidan76 كتب :
كود :
Call ConnectionDatabase


Dim zTotalall As String
Dim znisba As String

Dim fro As Date
Dim Too As Date
fro = Format(DTPicker1, "mm/dd/yyyy")
Too = Format(DTPicker2, "mm/dd/yyyy")

zTotal = "(Select sum(marks) From DrjatTB where DrjatTB.stuID=studentTB.stuID And DrjatTB.FileDate BETWEEN #" & CDate(fro) & "# AND #" & CDate(Too) & "#)"

znisba = "(Select   marks *100/zTotal From DrjatTB where falowTB.ECase= 2  And DrjatTB.stuID=studentTB.stuID AND DrjatTB.FileDate BETWEEN #" & CDate(fro) & "# AND #" & CDate(Too) & "#)"


                                                                                                                                                                                     ' ÌÏæá ÇáÏÑÌÇÊ
RS.Open "Select studentTB.stuID,studentTB.StuN ," & zTotal & " as Total ," & znisba & " as Totansba FROM studentTB INNER JOIN DrjatTB On DrjatTB.DstuID=studentTB.stuID Where DrjatTB.FileDate BETWEEN #" & CDate(fro) & "# AND #" & CDate(Too) & "# Group by studentTB.stuID,studentTB.stuN"
Set DataGrid1.DataSource = RS


اضن ان الكود بيكون بهذا الشكل بخصوص النسبة  
او خذ الفكرة منه  - 
تعليمات اخوانا الغالي احمد منصور

سامحني أخي الكريم لم أفهم الكود جيداً، أرفقت المثال؛ ليتم التعديل عليه، وربما يتجشم الأستاذ الكبير أحمد منصور أو الأستاذ الفاضل أمير لهذا المثال.
وهذا كود الجمع بالتكست يشتغل تمام ولكن في الداتا قريد لم أنجح
كود :
On Error Resume Next: Err.Clear

With Co
.ActiveConnection = DB
.CommandType = adCmdTable
.CommandText = "Q_omran"
End With
Set Rs1 = New Recordset
Rs1.Open Co, , adOpenStatic, adLockOptimistic
For I = 0 To Rs1.RecordCount - 1
Set rs = New Recordset: total = 0: PP = False
   rs.Open "select * from TBL_FSl where id =" & Rs1.Fields(0) & " and tag = 2", DB, adOpenStatic, adLockOptimistic
   If rs.RecordCount = 0 Then
   rs.AddNew
          rs.Fields(0) = Rs1.Fields(0)
          rs.Fields(1) = Rs1.Fields(1)
          rs.Fields(2) = Rs1.Fields(2)
          rs.Fields(3) = Rs1.Fields(3)
          rs.Fields(4) = 3

   For j = 5 To 40
       rs.Fields(j) = Rs1.Fields(j)
       Select Case Ks
       Case 1
           If j >= 29 Then
           If Rs1.Fields(j).Value >= 40 Then rs.Fields(j) = Rs1.Fields(j): total = total + Rs1.Fields(j) Else rs.Fields(j) = 0: PP = True
           End If
       Case 2
           If j >= 29 And j <= 40 Then
               If Rs1.Fields(j).Value >= 40 Then rs.Fields(j) = Rs1.Fields(j): total = total + Rs1.Fields(j) Else rs.Fields(j) = 0: total = 0: PP = True
           End If
       Case 3
           If j >= 29 And j <= 40 Then
               If Rs1.Fields(j).Value >= 40 Then rs.Fields(j) = Rs1.Fields(j): total = total + Rs1.Fields(j) Else rs.Fields(j) = 0: total = 0: PP = True
           End If
       End Select
   Next j
   If PP = False Then
          rs.Fields(41) = total
          rs.Fields(42) = Format(total / 1040 * 100, "00.00")
          If rs.Fields(42) < 50 Then rs.Fields(43) = "/": rs.Fields(44) = "راسب"
          If rs.Fields(42) >= 50 And rs.Fields(42) <= 64.99 Then rs.Fields(43) = "مقبول": rs.Fields(44) = "ناجح"
          If rs.Fields(42) >= 65 And rs.Fields(42) <= 74.99 Then rs.Fields(43) = "جيد": rs.Fields(44) = "ناجح"
          If rs.Fields(42) >= 75 And rs.Fields(42) <= 84.99 Then rs.Fields(43) = "جيد جداً": rs.Fields(44) = "ناجح"
          If rs.Fields(42) >= 85 And rs.Fields(42) <= 100 Then rs.Fields(43) = "ممتاز": rs.Fields(44) = "ناجح"
          rs.Fields(45) = 2
   Else: rs.Fields(41) = total: rs.Fields(42) = 0: rs.Fields(43) = "/": rs.Fields(44) = "راسب": rs.Fields(45) = 2: End If
   rs.Update ': MsgBox "تم جمع درجات الفصلين بنجاح", vbInformation + vbOKOnly + vbMsgBoxRight, "مجموع درجات الفصلين"
   Else: MsgBox "عفواً ... الرجاء التأكد من رصد درجات الفصلين", , "": Exit Sub: End If
   Rs1.MoveNext
Next
MsgBox "تم جمع درجات الفصلين بنجاح", vbInformation + vbOKOnly + vbMsgBoxRight, "مجموع درجات الفصلين"
End Sub
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ
الرد }}}
تم الشكر بواسطة: awidan76
#5
الحمد لله نجحتُ في جمع الدرجات داخل جدول الداتا قريد بهذا الكود، وأي تطوير لهذا الكود فمرحباً به

كود :
Dim X As Integer
For X = 0 To DataGrid1.ApproxCount - 1

DataGrid1.Col = 1
DataGrid1.Row = X
DataGrid1.Columns(10) = Val(DataGrid1.Columns(9)) + Val(DataGrid1.Columns(8))
Next
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ
الرد }}}
تم الشكر بواسطة: awidan76


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Question [vb6.0] هناك سؤال يهم كل مبرمج الماذا برنامجك يظهر على بعض الشاشات اكثر دقه بشكل مصغر ومشوه Microformt 0 190 01-02-25, 03:47 PM
آخر رد: Microformt
  السلام عليكم ورحمة الله وبركاتة ارجو المساعدو احبابي بخصوص مكتب TWAIN mhareek 1 284 13-11-24, 12:05 AM
آخر رد: السيد الغالي
  سؤال في تحزيم البرنامج Mohaben88 1 306 18-09-24, 06:29 PM
آخر رد: Mohaben88
  سؤال فى الداتا ريبورت haitham Muhammed 0 239 12-09-24, 08:35 PM
آخر رد: haitham Muhammed
  سؤال حول نسخة اكتيف ريبورت mhareek 2 2,297 07-09-24, 08:21 PM
آخر رد: Mohaben88
  سؤال عن نقل الرصيد abde6726 0 264 13-06-24, 12:47 AM
آخر رد: abde6726
  نقل البيانات من جدولين مرتبطين الى جدول اخر بعد الفلترة haitham Muhammed 0 376 29-04-24, 01:51 AM
آخر رد: haitham Muhammed
  [vb6.0] طريقة تصدير بيانات الداتا ريبورت datareport لصيغة pdf hamada salah90 6 2,221 19-01-24, 07:59 PM
آخر رد: hamada salah90
  سؤال بخصوص الحلقات التكرارية / اضافة درجة بشروط haiderkh 14 4,749 19-01-24, 02:39 PM
آخر رد: cls
  [vb6.0] سؤال كيف يتم تحديد عدد مرات تنصيب الملف التنفيذي لبرنامج Hassan.syria 2 552 02-01-24, 10:07 AM
آخر رد: Hassan.syria

التنقل السريع :


يقوم بقرائة الموضوع: