اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الردود الموصى بها

قام بنشر (معدل)

 

محتاجه كود يعمل تحديد الكل والغاء الكل

option button

 بدل ما اختار كل واحده لوحدها مع العلم مفيش  تحتهم اى شروط

 

Screenshot_1.png

تم تعديل بواسطه safaa salem5
قام بنشر
  في 16‏/11‏/2023 at 18:26, محمد احمد لطفى said:

تفضلى بالتوفيق
 

DoCmd.RunSQL "UPDATE اسم_الاستعلام SET اسم_الحقل = True;"

 

Expand  

قصدك اعمل الاستعلام الاول واختار من الجدول اللى هعمل عليه استعلام اسم الاوبشن بتون بس

وتحت الزرار دا احط الكود بتاعك 

  في 16‏/11‏/2023 at 18:38, safaa salem5 said:

قصدك اعمل الاستعلام الاول واختار من الجدول اللى هعمل عليه استعلام اسم الاوبشن بتون بس

وتحت الزرار دا احط الكود بتاعك 

Expand  

طيب لو عايزه اعمل الاستعلام على هيئة كودهيكون ازاى

قام بنشر

تفضلى يعمل على 

option button
 

 

    Dim frm As Form
    Dim ctl As Control
    Dim optionName As String
    Dim i As Integer
    
    ' يمكنك استبدال "اسم_نموذج" بالاسم الفعلي لنموذجك
    Set frm = Forms("Nameformx")
    
    ' تحديد جميع أزرار الاختيار (Option Buttons) في النموذج بناءً على الأسماء المحددة
    For i = 0 To 14
        optionName = "خيار" & i
        On Error Resume Next
        Set ctl = frm.Controls(optionName)
        On Error GoTo 0
        If Not ctl Is Nothing Then
            If TypeOf ctl Is Access.OptionButton Then
                ctl.Value = True
            End If
        End If
    Next i

 

قام بنشر
  في 16‏/11‏/2023 at 18:58, محمد احمد لطفى said:

تفضلى يعمل على 

option button
 

 

    Dim frm As Form
    Dim ctl As Control
    Dim optionName As String
    Dim i As Integer
    
    ' يمكنك استبدال "اسم_نموذج" بالاسم الفعلي لنموذجك
    Set frm = Forms("Nameformx")
    
    ' تحديد جميع أزرار الاختيار (Option Buttons) في النموذج بناءً على الأسماء المحددة
    For i = 0 To 14
        optionName = "خيار" & i
        On Error Resume Next
        Set ctl = frm.Controls(optionName)
        On Error GoTo 0
        If Not ctl Is Nothing Then
            If TypeOf ctl Is Access.OptionButton Then
                ctl.Value = True
            End If
        End If
    Next i

 

Expand  

 

تحديد الكل والغاء الكل.rarFetching info...

ادخل فورم

reservation_frm

وبعدين زرار الباركود

قام بنشر
  في 16‏/11‏/2023 at 18:58, محمد احمد لطفى said:

تفضلى يعمل على 

option button
 

 

    Dim frm As Form
    Dim ctl As Control
    Dim optionName As String
    Dim i As Integer
    
    ' يمكنك استبدال "اسم_نموذج" بالاسم الفعلي لنموذجك
    Set frm = Forms("Nameformx")
    
    ' تحديد جميع أزرار الاختيار (Option Buttons) في النموذج بناءً على الأسماء المحددة
    For i = 0 To 14
        optionName = "خيار" & i
        On Error Resume Next
        Set ctl = frm.Controls(optionName)
        On Error GoTo 0
        If Not ctl Is Nothing Then
            If TypeOf ctl Is Access.OptionButton Then
                ctl.Value = True
            End If
        End If
    Next i

 

Expand  

مش عارفه اطبقه عشان الفورم مش رئيسى دا صب فورم جوا فورم

قام بنشر (معدل)

مشاركة مع اخي الاستاذ @محمد احمد لطفى

ضعي الكود التالي تحت زر تحديد الكل 

DoCmd.RunSQL "UPDATE test_order_tbl SET drawn=true;"
Me.Requery

والكود التالي تحت زر الغاء الكل 

DoCmd.RunSQL "UPDATE test_order_tbl SET drawn=false;"
Me.Requery

تفضلي الملف 

تحديد الكل والغاء الكل.rarFetching info...

تم تعديل بواسطه Eng.Qassim
  • Thanks 1
قام بنشر
  في 16‏/11‏/2023 at 19:22, Eng.Qassim said:

مشاركة مع اخي الاستاذ @محمد احمد لطفى

ضعي الكود التالي تحت زر تحديد الكل 

DoCmd.RunSQL "UPDATE test_order_tbl SET drawn=true;"
Me.Requery

والكود التالي تحت زر الغاء الكل 

DoCmd.RunSQL "UPDATE test_order_tbl SET drawn=false;"
Me.Requery

تفضلي الملف 

تحديد الكل والغاء الكل.rar 131.43 kB · 0 downloads

Expand  

بص هو كدا بيعمل 

update 

لكل الجدول 

انا عايزه احط شرط

اقوله ينفذ الاستعلام لنفس 

id 

الموجود معايا فى الفورم

وعايزه الغى رساله الاكسيس اللى بتظهر

قام بنشر

مشاركة مع الاساتذة بدون الحاجة لاستعلام

فقط نتعامل مع مصدر السجلات ونسنده للنموذج الفرعي

ثم نستخدم حلقة دوارة تعدل قيمة الحقل

في زر الامر اختيار الكل نضع الامر

Dim rst As Recordset
Dim a As Integer
Set rst = Me.Sub.Form.Recordset
rst.MoveFirst
For a = 0 To rst.RecordCount - 1
rst.Edit
rst!drawn = -1
rst.Update
rst.MoveNext
Next a
Me.Sub.Requery

وفي زر الغاء الكل نضع

Dim rst As Recordset
Dim a As Integer
Set rst = Me.Sub.Form.Recordset
rst.MoveFirst
For a = 0 To rst.RecordCount - 1
rst.Edit
rst!drawn = 0
rst.Update
rst.MoveNext
Next a
Me.Sub.Requery

الملف مرفق

الشايب

 

تحديد الكل والغاء الكل.accdbFetching info...

  • Thanks 1
قام بنشر (معدل)
  في 16‏/11‏/2023 at 20:31, شايب said:

مشاركة مع الاساتذة بدون الحاجة لاستعلام

فقط نتعامل مع مصدر السجلات ونسنده للنموذج الفرعي

ثم نستخدم حلقة دوارة تعدل قيمة الحقل

في زر الامر اختيار الكل نضع الامر

Dim rst As Recordset
Dim a As Integer
Set rst = Me.Sub.Form.Recordset
rst.MoveFirst
For a = 0 To rst.RecordCount - 1
rst.Edit
rst!drawn = -1
rst.Update
rst.MoveNext
Next a
Me.Sub.Requery

وفي زر الغاء الكل نضع

Dim rst As Recordset
Dim a As Integer
Set rst = Me.Sub.Form.Recordset
rst.MoveFirst
For a = 0 To rst.RecordCount - 1
rst.Edit
rst!drawn = 0
rst.Update
rst.MoveNext
Next a
Me.Sub.Requery

الملف مرفق

الشايب

 

تحديد الكل والغاء الكل.accdb 1.06 MB · 5 downloads

Expand  

طيب لو عندى مجموعتين زى الصوره كدا الكود هيعرف ازاى المجموعه اللى انا عايزاها  مش لازم احدد اسمها فى الكود

Screenshot_3.png

تم تعديل بواسطه safaa salem5
قام بنشر
  في 16‏/11‏/2023 at 20:50, safaa salem5 said:

طيب لو عندى مجموعتين زى الصوره كدا الكود هيعرف ازاى المجموعه اللى انا عايزاها 

Expand  

احنا حددنا اسم الخانة الخاصة بالاختيار

rst!drawn

الموضوع بسيط بنفس الطريقة للخانة الثانية عند سحب الكل والغاء الكل فقط نعدل السطر السابع الى

rst!test=-1
وللالغاء
rst!test=0

على افتراض ان اسم خانة الاختيار الثانية test

 

 

 

 

  • تمت الإجابة
قام بنشر

بعدين لابد ان نعرف اننا لا نتعامل مع خانة اختيار او مجموعة اختيار وانما في هذا المثال نتعامل مع حقل من نوع نعم لا

 

  • Like 1
قام بنشر
  في 16‏/11‏/2023 at 21:01, شايب said:

الموضوع بسيط بنفس الطريقة للخانة الثانية عند سحب الكل والغاء الكل فقط نعدل السطر السابع الى

Expand  

اخيرا الاخ شايب يرغب في ايضاح اخير

قاعدة برمجية عندما يكون لدينا كود يتم استخدامه في اكثر من موضع فمن الافضل تجنب تكرار كتابته وتحويل الكود الى وحدة او اجراء فرعي في النموذج

وهنا اشارت الاستاذة الى وجود حقلين من نوع نعم لا واربعة ازرار امر اثنان لاختيار الكل واثنان للالغاء

لذا ينصخ اخونا شايب في هذه الحالة بتحويل الكود الى اجراء فرعي

واستخدام متغير رقمي في اعلى النموذج تتحدد قيمته من خلال ازرار الامر ونحتاج هنا الى ارقام من 1 الى 4

وفي الاجراء نستخدم Select Case

بحيث اذا كان المتغير =1 يكون التعديل للحقل drawn وتكون قيمته =-1 وان كان المتغير =2 تكون قيمة الحقل =0

وهكذا عند ارسال رقم 3 يكون التعديل للحقل send اختيار الكل ورقم 4 للالغاء لنفس الحقل

اي ان الكود مكتوب مرة واحدة ويقوم باربعة وظائف ويكون دور ازرار الامر فقط لتحديد قيمة المتغير واستدعاء الاجراء الفرعي

ونكتفي بهذا القدر ونترك الامر للاساتذة  ولعل يكون لنا عودة في موضوع اخر

اخونا الشايب

  • Like 2
قام بنشر

طيب ممكن حضرتك تطبيق الشرح دا على النموزج الموجود لو تكرمت عشان حابه افهم الجزءيه دى

قام بنشر
  في 17‏/11‏/2023 at 11:46, safaa salem5 said:

ممكن حضرتك تطبيق الشرح

Expand  

هو نفس الكود السابق ولكن بدلا من تكراره اربع مرات نقوم بتعديل بسيط

بداية في اعلى النموذج نعلن عن متغير رقمي

Public s As Byte

ثم نعمل اجراء على النحو التالي

Sub sl()
Dim rst As Recordset
Dim a As Integer
Set rst = Me.Sub.Form.Recordset
rst.MoveFirst
For a = 0 To rst.RecordCount - 1
rst.Edit
Select Case s
Case Is = 1
rst!drawn = -1
Case Is = 2
rst!send = -1
Case Is = 3
rst!drawn = 0
Case Is = 4
rst!send = 0
End Select
rst.Update
rst.MoveNext
Next a
Me.Sub.Requery
s = 0
End Sub

ثم في زر الامر نضع

s = 1
sl

وقيمة المتغيير s تتغير لكل زر امر وفقا لعمله في الكود

اخير الاخ شايب لايهتم باختيار اسماء معبرة عن عمل المتغير او الاجراءات لكون غير متخصص في البرمجة ولا يمتهنها ويترك الامر للاساتذة والمختصين

الملف مرفق

 

تحديد الكل والغاء الكل.accdbFetching info...

  • Like 1
قام بنشر
  في 17‏/11‏/2023 at 17:45, شايب said:

هو نفس الكود السابق ولكن بدلا من تكراره اربع مرات نقوم بتعديل بسيط

بداية في اعلى النموذج نعلن عن متغير رقمي

Public s As Byte

ثم نعمل اجراء على النحو التالي

Sub sl()
Dim rst As Recordset
Dim a As Integer
Set rst = Me.Sub.Form.Recordset
rst.MoveFirst
For a = 0 To rst.RecordCount - 1
rst.Edit
Select Case s
Case Is = 1
rst!drawn = -1
Case Is = 2
rst!send = -1
Case Is = 3
rst!drawn = 0
Case Is = 4
rst!send = 0
End Select
rst.Update
rst.MoveNext
Next a
Me.Sub.Requery
s = 0
End Sub

ثم في زر الامر نضع

s = 1
sl

وقيمة المتغيير s تتغير لكل زر امر وفقا لعمله في الكود

اخير الاخ شايب لايهتم باختيار اسماء معبرة عن عمل المتغير او الاجراءات لكون غير متخصص في البرمجة ولا يمتهنها ويترك الامر للاساتذة والمختصين

الملف مرفق

 

تحديد الكل والغاء الكل.accdb 1.12 MB · 4 downloads

Expand  

تعبتك معايا لشكرا لحضرتك جدا بارك الله فيك وجعلك دائما عونا لنا

thanks.gif

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information