مفيش ابداعات ولا شئ انا استخدمت التاج والدوران على العناصر على النموذج من خلال التاج الاتى للعناصر المراد عدم تفعيلها او تعطيلها >--->> lock
وهذه الاكواد يا سيدى انت تأمر
اولا اضفت المتغير ده من النوع بايت ليأخذ القيم (0,1) الى راح ابين بعد قليل ليه
Private Mylock As Byte
وعند التحميل للنموذح اضفت الكود الاتى لأسند الى المتغير قيمة 0
Private Sub Form_Load()
Mylock = 0
End Sub
وهناك عغلى النموذج زر امر اسمه >--->> أمر11
واضفت الكود الى زر الامر
Select Case Mylock
Case Is = 0
Me.أمر11.Caption = "تفعيل"
Mylock = 1
Dim ctl As Control
For Each ctl In Me.Controls
If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Or ctl.ControlType = acListBox Then
If ctl.Tag = "lock" Then
ctl.Enabled = False
End If
End If
Next ctl
Exit Sub
Case Is = 1
Me.أمر11.Caption = "تعطيل"
Mylock = 0
For Each ctl In Me.Controls
If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Or ctl.ControlType = acListBox Then
If ctl.Tag = "lock" Then
ctl.Enabled = True
End If
End If
Next ctl
Exit Sub
End Select
شرح الكود اذا كان المتغير = 0
اعادة تسمية زر الامر الى تفعيل
تغير قيمة المتغير فتكون=1
الدوران على كل العناصر على النموذج ان كانت تيكست بوكس او كومبو بوكس او ليست بوكس وكان التاج لكل منهم هو >--->> lock
يتم تنفيذ الامر التالى على كل تلك العناصر دفعة واحدة .Enabled = False
والعكس عندما يتغير قيمة المتغير واسم زر الامر
يغنى كودين على زر امر واحد بدل من زرين امر