(05-02-23, 04:45 PM)Taha Okla كتب : [quote pid='190214' dateline='1675601121']
وعليكم السلام ورحمة الله وبركاته
1 -
كود :
For Each L As Control In Me.Controls
If TypeOf (L) Is Label Then
If Mid(L.Name, 1, 6) = "Lbl_S_" Then
If (CType(L, Label)).Text = 8 Then
Txt_MU.Text = 1
Else
'Txt_MU.Text = 2
End If
End If
End If
Next
Txt_Total.Text = Val(Txt_NF.Text) + Val(Txt_ED.Text) + Val(Txt_NS.Text) + Val(Txt_MU.Text)
هذا الكود يعمل بشكل ممتاز بعد أن عدلت Txt_MU.Text = 1
لتصبح:-
Txt_MU.Text = Val(Txt_MU.Text) + 1
=======
ولكن هذا الكود بالأسفل لم أفهمه..
2 -
كود :
For Each L As Control In Me.Controls
If TypeOf (L) Is Label Then
If Mid(L.Name, 1, 6) = "Lbl_S_" Then
Select Case (CType(L, Label)).Text = 8
Case 7, 9, 10, 11, 12
Txt_ED.Text = Val(Txt_ED.Text) + 1
End Select
End If
End If
Next
Txt_Total.Text = Val(Txt_NF.Text) + Val(Txt_ED.Text) + Val(Txt_NS.Text) + Val(Txt_MU.Text)[/quote]
رقم 8 هو خاص بالكود الذي بالأعلى
أريد مكان الرقم 8 الأرقام ( 7, 9, 10, 11, 12 )
بحيث إذا كان
( 7, 9, 10, 11, 12 ) = Label.Text
فـ
Txt_ED.Text = Val(Txt_ED.Text) + 1
للتوضيح:-
الكود الذي بالأعلى يخص القسم ( 8 ) في المستشفى
وهذا الكود يخص الأقسام ( 7, 9, 10, 11, 12 )
جزاكم الله خيراً
وأعتذر إذا كنت قد ثقلت عليكم
استخدمت هذا الكود:-
كود :
For Each L As Control In Me.Controls
If TypeOf (L) Is Label Then
If Mid(L.Name, 1, 6) = "Lbl_S_" Then
If (CType(L, Label)).Text = 7 Or 9 Or 10 Or 11 Or 12 Then
Txt_NF.Text = Val(Txt_NF.Text) + 1
End If
End If
End If
Next
Txt_Total.Text = Val(Txt_NF.Text) + Val(Txt_ED.Text) + Val(Txt_NS.Text) + Val(Txt_MU.Text)استغنيت عن جملة Case
ولكن المشكلة يعطيني ضعف الناتج..
مثلاً:-
كود :
Lbl_S_1.Text = "7"
Lbl_S_3.Text = "9"
Lbl_S_7.Text = "12"من المفترض ان يكون الناتج = 3
ولكن يضاعفها فتصبح = 6
أعلم أن خبرتي قليلة جداً إن لم تكن معدومة، فتحملوني واعذروني..
