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

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

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

ارجو من الاساتذة الكرام شرح كيفية تحديد فى خانة اختيار كل السجلات عن طريق النموذج فى المرفقات

ولكم جزيل الشكر مقدما

Selection.rar

رابط هذا التعليق
شارك

وعليكم السلام:smile:

 

تفضل:smile:

Private Sub cmd_Select_All_Click()

'1
'   Dim rst As DAO.Recordset
'   Set rst = Me.RecordsetClone
'   rst.MoveLast: rst.MoveFirst
'   RC = rst.RecordCount
'
'    For i = 1 To RC
'        rst.Edit
'            rst!done = Not rst!done
'        rst.Update
'
'        rst.MoveNext
'    Next i
'
'    rst.Close: Set rst = Nothing
     
'2
    CurrentDb.Execute ("UPDATE fatora SET done =" & Not Me.done)
    Me.Requery
End Sub

.

جعفر

 

تم تعديل بواسطه jjafferr
تم إضافة طريقة ثانية ايضا
  • Like 3
  • Thanks 2
رابط هذا التعليق
شارك

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

أستأذنك أستاذ القدير جعفر في إضافة تعديل بسيط على الكود الذي قمت بتقديمة.

الكود الذي كتبته أستاذي يقوم بتحديد الخانة الغير محددة و نزع التحديد عن الخانة محددة

لقد أضفت تعديل بسيط ليقوم الكود بتحديد كامل الخانات أو إزالة التحديد من جميع الخانات كما طلب السائل.

Dim f As String
Dim rst As DAO.Recordset
    Set rst = Me.RecordsetClone
    rst.MoveLast: rst.MoveFirst
    RC = rst.RecordCount
    f = rst!done
    For i = 1 To RC
     If f = "true" Then
        rst.Edit
        rst!done = False
        rst.Update
     Else
        rst.Edit
        rst!done = True
        rst.Update
     End If
        
        rst.MoveNext
    Next i
    
    rst.Close: Set rst = Nothing

 

Selection.rar

  • Like 4
  • Thanks 1
رابط هذا التعليق
شارك

27 دقائق مضت, صالح حمادي said:

لقد أضفت تعديل بسيط ليقوم الكود بتحديد كامل الخانات أو إزالة التحديد من جميع الخانات كما طلب السائل.

التعديل جميل:smile:

 

ايش رايك نقلل الكود الذي وضعته انت ، بواسطة الامر Not ، ومعناه ، غيّر القيمة الحالية الى القيمة التي ليست فيه:

Dim f As Boolean
Dim rst As DAO.Recordset
    Set rst = Me.RecordsetClone
    rst.MoveLast: rst.MoveFirst
    RC = rst.RecordCount
    f = rst!done
    
    For i = 1 To RC
        rst.Edit
        rst!done = Not f
        rst.Update
        
        rst.MoveNext
    Next i
    
    rst.Close: Set rst = Nothing
    
End Sub

.

جعفر

30 دقائق مضت, صالح حمادي said:

الكود الذي كتبته أستاذي يقوم بتحديد الخانة الغير محددة و نزع التحديد عن الخانة محددة

ونعم كنت على علم بهذا ، ولكني كنت اعتقد بأن المبرمج كان سيقفل على المستخدمين تغيير الحقل يدويا ، وبالتالي تكون المشكلة تم حلها:smile:

 

ولكن ، وحتى بالحليين (الحل الثاني الذي تركته انا في الكود الاصلي) ، وحتى الطريقة التي تفضلت بها انت ، فنحن نعتمد على قيمة اول حقل ، وربما لم يكون صحيحا ، لذا سيضطر المستخدم الى الضغط على زر التغيير مرتين (بعض الاوقات للحصول على القيمة الصحيحة):smile:

 

جعفر

  • Like 4
  • Thanks 1
رابط هذا التعليق
شارك

منذ ساعه, jjafferr said:

CurrentDb.Execute ("UPDATE fatora SET done =" & Not Me.done)
Me.Requery

الله يرضى عليك استاذي جعفر 
هل اكو شي اجمل من هذا الكود اوبدات 
يعمل بسرعة اكبر

 

  • Like 3
رابط هذا التعليق
شارك

2 دقائق مضت, Shivan Rekany said:

يعمل بسرعة اكبر

حيا الله اخوي شفان:smile:

 

للعلم ، وهذا الكود كذلك يعتمد على الامر Not:smile:

 

الشئ الذي يجب ان يكون على بالنا وقت المشاركة في اي من المواضيع:

هذا المنتدى للتعلّم وتعليم الاخرين ،

لذلك ، بعض الاوقات ترى اني اضع اكثر من طريقة لحل الموضوع ، وبعض الاوقات اضع توضيح لكل سطر ، وبعض الاوقات افكك الحل لأسطر اكثر حتى يكون سهل على الشباب تغييره لاحقا ، وبعض الاوقات تحذير عن الوقوع في خطأ:smile:

 

ومثل ما هو مكتوب في اسفل مواضيعي:

في اعتقادي ، مشاركة أكثر من شخص في الرد على السؤال ، هو فائدة للجميع ، فمنه نتعلم الطرق الاخرى للإجابة على السؤال ، ونتعلم خبايا البرمجة :rol:

 

فبمشاركة الاخ صالح ، اصبح هذا الموضوع اكثر اثراءً:smile:

 

جعفر

 

  • Like 4
  • Thanks 1
رابط هذا التعليق
شارك

9 دقائق مضت, jjafferr said:

فبمشاركة الاخ صالح ، اصبح هذا الموضوع اكثر اثراءً:smile:

 

جعفر

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

تم تعديل بواسطه Shivan Rekany
  • Like 1
رابط هذا التعليق
شارك

4 دقائق مضت, Shivan Rekany said:

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

نعم انا فهمت قصدك من البداية ، شكرا:smile:

 

جعفر

  • Like 1
رابط هذا التعليق
شارك

 

14 ساعات مضت, jjafferr said:

ايش رايك نقلل الكود الذي وضعته انت ، بواسطة الامر Not ، ومعناه ، غيّر القيمة الحالية الى القيمة التي ليست فيه:

فكرة أحلى

14 ساعات مضت, Shivan Rekany said:

CurrentDb.Execute ("UPDATE fatora SET done =" & Not Me.done)
Me.Requery

الكود يعمل جيدا شكرا

رابط هذا التعليق
شارك

وعليكم السلام

 

الكود السابق كان يستعمل سجلات الجدول fatora ،

بينما الكود التالي يستخدم سجلات مصدر النموذج ، والذي هو الاستعلام esfatora :

CurrentDb.Execute ("UPDATE esfatora SET done =" & Not Me.done)

 

جعفر

  • Like 1
رابط هذا التعليق
شارك

أستاذ جعفر شكرا على المساعدة

لا يعمل الكود على الاستعلام  عندى

هل من الممكن تعديل الكود ليعمل على النموذج والسجلات الظاهرة به فقط وليس على جدول او استعلام

 

رابط هذا التعليق
شارك

تفضل:smile:

 

الكود يشتغل ، بس بسبب انك كنت علامة صح بالكود القديم ، فالجدول كله عليه علامة صح ،

انا الغيت الصح من الجدول بالكامل ، وارفقت لك البرنامج بكود الاستعلام:smile:

 

 

جعفر

523.Selection.accdb.zip

  • Like 1
رابط هذا التعليق
شارك

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

واعتقد ان الحل لو الكود اشتغل على النموذج مش الاستعلام  :fff::fff:

رابط هذا التعليق
شارك

في ٤‏/١‏/٢٠١٧ at 17:28, jjafferr said:

rivate Sub cmd_Select_All_Click() '1 ' Dim rst As DAO.Recordset ' Set rst = Me.RecordsetClone ' rst.MoveLast: rst.MoveFirst ' RC = rst.RecordCount ' ' For i = 1 To RC ' rst.Edit ' rst!done = Not rst!done ' rst.Update ' ' rst.MoveNext ' Next i ' ' rst.Close: Set rst = Nothing

قصد حضرتك الكود دا ؟

طيب مفيش حل يكون سريع

رابط هذا التعليق
شارك

1 دقيقه مضت, الحســـام said:

1. قصد حضرتك الكود دا ؟

2. طيب مفيش حل يكون سريع

1. نعم :smile:

2. نعم ، حل الاستعلام اللي ما اشتغل عندك:blink:

طيب ، ممكن تخبرني ما هو مصدر النموذج ؟

 

جعفر

رابط هذا التعليق
شارك

7 ساعات مضت, الحســـام said:

لا يعمل الكود على الاستعلام  عندى

طيب ممكن توضح اكثر ، ماذا يحدث لما تشغل الكود الذي يشتغل على الاستعلام ، وبالتفصيل؟

 

جعفر

بدل الكود السابق ، استعمل هذا الكود ، واخبرني الخطأ الذي يعطيك:

docmd.runsql ("UPDATE esfatora SET done =" & Not Me.done)

 

جعفر

رابط هذا التعليق
شارك

3 دقائق مضت, الحســـام said:

تمام الله ينور يا استاذ جعفر شغال مية مية

بس ممكن اعرف الخلل كان فى اية ؟

الحمدلله:smile:

بعض الاوقات الامر currentdb.execute ما يشتغل لسبب او آخر ،

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

بينما الامر الآخر docmd.runsql او docmd.openquery ، فانها تخبرك اذا في خطأ ، وتعطيك رسائل التحذير ايضا ، والتي يجب ان نتغلب عليها ، هكذا:

 

docmd.setwarnings false
docmd.runsql ("UPDATE esfatora SET done =" & Not Me.done)
docmd.setwarnings true

 

جعفر

رابط هذا التعليق
شارك

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