تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
سؤال بخصوص الجمع في جدول الداتا قريد
#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


الردود في هذا الموضوع
RE: سؤال بخصوص الجمع في جدول الداتا قريد - بواسطة مصمم هاوي - 17-09-19, 02:51 PM

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

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


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