تحويل كود فيجوال6 إلى الدوت نت - مصمم هاوي - 04-05-24
هل يتكرم أحد الأساتذة الكرام والخبراء الأفاضل بتحويل كود فيجوال بيسك 6 إلى الدوت نت
الكود خاص بمجاميع الدرجات والمعدل والتقدير وعدد مواد الرسوب والنتيجة النهائية
الكود
كود :
Sub SaveTotl()
Set Rs = New Recordset
SQL = "select * from TBL_Final1"
Rs.Open SQL, DB, adOpenStatic, adLockOptimistic
Rs.MoveFirst
For j = 0 To Rs.RecordCount - 1
ct = 0: cc = 0
For I = 1 To 6
If Rs.Fields(20 + I).Value >= 50 Then ct = ct + Rs.Fields(20 + I).Value: bo = False
If Rs.Fields(20 + I).Value < 50 Then ct = ct + Rs.Fields(20 + I).Value: cc = cc + 1: bo = True
Next I
Rs.Fields(28) = ct
Rs.Fields(31) = cc
Select Case cc
Case 0: Rs.Fields(32) = "ناجح"
Case 1 To 3: Rs.Fields(32) = "مكمل"
Case Is > 3: Rs.Fields(32) = "راسب"
End Select
tt = (ct / 600) * 100
Rs.Fields(29) = tt
If tt >= 85 Then Rs.Fields(30) = "ممتاز"
If tt >= 75 And tt <= 85 Then Rs.Fields(30) = "جيد جداً"
If tt >= 65 And tt <= 75 Then Rs.Fields(30) = "جيد"
If tt >= 50 And tt <= 65 Then Rs.Fields(30) = "مقبول"
Rs.Update
Rs.MoveNext
Next j
End Sub
Function aa(ss As Integer)
Select Case cc
Case 0: Rs.Fields(32) = "ناجح"
Case 1 To 3: Rs.Fields(32) = "مكمل"
Case Is > 3: Rs.Fields(32) = "راسب"
End Select
End Function
وهذا مثال صغير على الفكرة بالفيجوال بيسك 6
[attachment=29527]
RE: تحويل كود فيجوال6 إلى الدوت نت - أبو خالد الشكري - 04-05-24
مرحبا بك
جرب الكود التالي الذي تحويله :
ولا تنس إضافة مرجع references لمكتبة
Microsoft ActiveX Data Objects
كود :
Sub SaveTotl()
Dim Rs As New ADODB.Recordset
Dim SQL As String = "select * from TBL_Final1"
Rs.Open(SQL, DB, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic)
Rs.MoveFirst
Dim j As Integer
For j = 0 To Rs.RecordCount - 1
Dim ct As Integer = 0
Dim cc As Integer = 0
Dim bo As Boolean = False
Dim I As Integer
For I = 1 To 6
If Rs.Fields(20 + I).Value >= 50 Then
ct += Rs.Fields(20 + I).Value
bo = False
ElseIf Rs.Fields(20 + I).Value < 50 Then
ct += Rs.Fields(20 + I).Value
cc += 1
bo = True
End If
Next I
Rs.Fields(28).Value = ct
Rs.Fields(31).Value = cc
Select Case cc
Case 0
Rs.Fields(32).Value = "ناجح"
Case 1 To 3
Rs.Fields(32).Value = "مكمل"
Case Is > 3
Rs.Fields(32).Value = "راسب"
End Select
Dim tt As Double = (ct / 600) * 100
Rs.Fields(29).Value = tt
If tt >= 85 Then
Rs.Fields(30).Value = "ممتاز"
ElseIf tt >= 75 AndAlso tt <= 85 Then
Rs.Fields(30).Value = "جيد جداً"
ElseIf tt >= 65 AndAlso tt <= 75 Then
Rs.Fields(30).Value = "جيد"
ElseIf tt >= 50 AndAlso tt <= 65 Then
Rs.Fields(30).Value = "مقبول"
End If
Rs.Update()
Rs.MoveNext()
Next j
End Sub
Function aa(ByVal cc As Integer)
Select Case cc
Case 0
Rs.Fields(32).Value = "ناجح"
Case 1 To 3
Rs.Fields(32).Value = "مكمل"
Case Is > 3
Rs.Fields(32).Value = "راسب"
End Select
End Function
RE: تحويل كود فيجوال6 إلى الدوت نت - مصمم هاوي - 04-05-24
(04-05-24, 01:45 AM)أبو خالد الشكري كتب : مرحبا بك
جرب الكود التالي الذي تحويله :
ولا تنس إضافة مرجع references لمكتبة
Microsoft ActiveX Data Objects
كود :
Sub SaveTotl()
Dim Rs As New ADODB.Recordset
Dim SQL As String = "select * from TBL_Final1"
Rs.Open(SQL, DB, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic)
Rs.MoveFirst
Dim j As Integer
For j = 0 To Rs.RecordCount - 1
Dim ct As Integer = 0
Dim cc As Integer = 0
Dim bo As Boolean = False
Dim I As Integer
For I = 1 To 6
If Rs.Fields(20 + I).Value >= 50 Then
ct += Rs.Fields(20 + I).Value
bo = False
ElseIf Rs.Fields(20 + I).Value < 50 Then
ct += Rs.Fields(20 + I).Value
cc += 1
bo = True
End If
Next I
Rs.Fields(28).Value = ct
Rs.Fields(31).Value = cc
Select Case cc
Case 0
Rs.Fields(32).Value = "ناجح"
Case 1 To 3
Rs.Fields(32).Value = "مكمل"
Case Is > 3
Rs.Fields(32).Value = "راسب"
End Select
Dim tt As Double = (ct / 600) * 100
Rs.Fields(29).Value = tt
If tt >= 85 Then
Rs.Fields(30).Value = "ممتاز"
ElseIf tt >= 75 AndAlso tt <= 85 Then
Rs.Fields(30).Value = "جيد جداً"
ElseIf tt >= 65 AndAlso tt <= 75 Then
Rs.Fields(30).Value = "جيد"
ElseIf tt >= 50 AndAlso tt <= 65 Then
Rs.Fields(30).Value = "مقبول"
End If
Rs.Update()
Rs.MoveNext()
Next j
End Sub
Function aa(ByVal cc As Integer)
Select Case cc
Case 0
Rs.Fields(32).Value = "ناجح"
Case 1 To 3
Rs.Fields(32).Value = "مكمل"
Case Is > 3
Rs.Fields(32).Value = "راسب"
End Select
End Function
بارك الله فيك أخي أبو خالد على سرعة ردّك
ولكن ظهر خطأ وسأرفق مثالاً بسيطاً بالدوت نت أتمنى منك مشكوراً أن تعدل عليه
هذا مثال صغير للتعديل عليه
[attachment=29528]
أسف أرفقتُ قاعدة البيانات الخطأ
هذه قاعدة البيانات الصحيحة
[attachment=29529]
RE: تحويل كود فيجوال6 إلى الدوت نت - مصمم هاوي - 04-05-24
بارك الله فيك أخي الكريم 3sem أجرب الكود وأعطيك النتيجة
RE: تحويل كود فيجوال6 إلى الدوت نت - مصمم هاوي - 04-05-24
أخي 3sem
الكود شغال 100% أعذرني على التأخير، وذلك لاكتمال الحصة الشهرية للنت.
المهم أن الكود يشتغل على أحسن ما يرام، وهذا كله بفضل الله تعالى ثم بمساعدتك أخي الكريم.
ولا أنسى أخي الحبيب أبو خالد على مساعدته ووقوفه الدائم مع الأعضاء، فله الشكر والتقدير.
|