منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : مشكلتي في خاصية Check Box في الفجول بيسك 6
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
بسم الله الرحمن الرحيم

الاخوة الكرام

السلام عليكم ورحمة الله وبركاته

عندي في الفجول بيسك خاصية checkbox  وعددها 3 عناصر عملتها بطريقة بحيث لم اضغط عليها وتعطيني علامة صح واقوم بحفظها ياخذ caption ويضيفها بقاعدة البيانات ولاكن الاشكال لما اختارها كلها مايضيف الا واحدة علما ان الخاصية جعلتها علي هذا النحو


(Private Sub Check1_Click(Index As Integer)

amlyat1 = Option1(Index).Caption

End Sub

صورة اخرى توضيحية بالاسفل وشكرا لكم

بسم الله الرحمن الرحيم

- أولاً عليك بضبط خاصية الـ Index لكل ChechBox تضعها بالترتيب الأول تضع قيمة الخاصية Index فيه تساوي 1 والثاني تساوي 2 والثالث تساوي 3 ثم بعد ذلك قم بتغيير أسماء الـ CheckBox الثلاثة إلى إسم موحد لها كلها ولنقل مثلاً سيكون الإسم الموحد هو Check1 ولنفترض أن إسم الزر الذي يتم الضغط عليه للحفظ هو Command1 بعد ذلك إنسخ هذا الكود بداخل كود الفورم التي أداوت الـ CheckBox الثلاثة موجودة عليه :

كود :
Private Sub Command1_Click()

Dim I As Integer
Dim CheckBox_Clicked As String

For I = 1 To 3

    If Check1(I).Value = 1 Then
       CheckBox_Clicked = CheckBox_Clicked & Check1(I).Caption & ","
    End If
    
Next

If Len(Trim$(CheckBox_Clicked)) > 0 Then
   CheckBox_Clicked = Left$(CheckBox_Clicked, Len(CheckBox_Clicked) - 1)
Else
   MsgBox "لم تقم بإختيار أي نوع"
   Exit Sub
End If

MsgBox CheckBox_Clicked & " لقد قمت بإختيار "

End Sub
اسمها كالتالي :

Check2(0).caption
Check2(1).caption
Check2(2).caption
ولو ضغطت علي احداهن دبل كلك يظهر التالي :

amlyat1 = Check2(Index).Caption

علما ان amlyat1 عرفنها في العام كالتالي


Dim amalyat1 as string


عموما طلع معي كذا

أهلا , تم تعديل الكود , والكود الذي يظهر لك عندما تضغط دبل كلك على إحداها قم بمسحه لأن الكود سيتم تنفيذه في الزر :

كود :
Private Sub Command1_Click()

Dim I As Integer

amlyat1 = ""

For I = 0 To 2

    If Check2(I).Value = 1 Then
       amlyat1 = amlyat1 & Check2(I).Caption & ","
    End If
    
Next

If Len(Trim$(amlyat1)) > 0 Then
   amlyat1 = Left$(amlyat1, Len(amlyat1) - 1)
Else
   MsgBox "لم تقم بإختيار أي نوع"
   Exit Sub
End If

MsgBox amlyat1 & " لقد قمت بإختيار "

End Sub

إذا أردت أن تزيل الأقواس من عنوان الـ CheckBox المختار قم بإستخدام هذا الكود :

كود :
Private Sub Command1_Click()

Dim I As Integer
Dim zCheck_Caption As String

amlyat1 = ""

For I = 0 To 2

    If Check2(I).Value = 1 Then
       zCheck_Caption = Check2(I).Caption
       zCheck_Caption = Replace(zCheck_Caption, "(", "")
       zCheck_Caption = Replace(zCheck_Caption, ")", "")
       zCheck_Caption = Trim$(zCheck_Caption)
       amlyat1 = amlyat1 & zCheck_Caption & ","
    End If
    
Next

If Len(Trim$(amlyat1)) > 0 Then
   amlyat1 = Left$(amlyat1, Len(amlyat1) - 1)
Else
   MsgBox "لم تقم بإختيار أي نوع"
   Exit Sub
End If

MsgBox amlyat1 & " لقد قمت بإختيار "

End Sub
قل امين

جعل اللي جابوك في الفردوس الاعلي ووالديني وجميع المسلمين

الله يجزاك خير ويرفع قدرك ويرزقك من حيث لاتحتسب ويحفظ لك اهلك ومالك

تحياتي وتقديري لشخصك الكريم
عمل موفق شباب حفظم الله
شكراً لك يا أبو محمد ، وياك إن شاء الله ، جزاك الله خير .
بالتوفيق أن شاءالله للجميع