بسم الله الرحمن الرحيم
الاخوة الكرام
السلام عليكم ورحمة الله وبركاته
عندي في الفجول بيسك خاصية 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
قل امين
جعل اللي جابوك في الفردوس الاعلي ووالديني وجميع المسلمين
الله يجزاك خير ويرفع قدرك ويرزقك من حيث لاتحتسب ويحفظ لك اهلك ومالك
تحياتي وتقديري لشخصك الكريم
شكراً لك يا أبو محمد ، وياك إن شاء الله ، جزاك الله خير .
بالتوفيق أن شاءالله للجميع