abofayez1 قام بنشر يناير 26 قام بنشر يناير 26 السلام عليكم كيف أمنع التحديد المتعدد في خانة مربع الاختيار؟ وشكرا لكم
Foksh قام بنشر يناير 26 قام بنشر يناير 26 في 26/1/2025 at 21:32, abofayez1 said: السلام عليكم Expand وعليكم السلام ورحمة الله وبركاته ، هل لك أن توضح أكثر مطلبك !؟!؟ هل تقصد الـ Checkbox ؟؟؟؟؟؟؟؟؟؟ ارفق مثال لتتوضح فكرتك وهدفك
abofayez1 قام بنشر يناير 27 الكاتب قام بنشر يناير 27 (معدل) aa.accdbFetching info... المطلوب السماح بتحديد سجل واحد فقط ومنع الاختيار المتعدد تم تعديل يناير 27 بواسطه abofayez1
kkhalifa1960 قام بنشر يناير 27 قام بنشر يناير 27 (معدل) تفضل استاذ @abofayez1 Private Sub y_n_AfterUpdate() If Me.y_n.Value = True Then Dim strSQL As String strSQL = "UPDATE a SET y_n = False WHERE ID <> " & Me.id CurrentDb.Execute strSQL, dbFailOnError Me.Requery End If End Sub aa-1.accdbFetching info... تم تعديل يناير 27 بواسطه kkhalifa1960 1
abofayez1 قام بنشر يناير 27 الكاتب قام بنشر يناير 27 أشكرك أخي kkhalifa1960 لكن ظهرت لي مشكلة عند تحديد اي مربع اختيار يبقى التركيز على الاسم الأول الذي هو أحمد ولايتم نقل التركيز للاسم المقابل لمربع الاختيار المحدد
abofayez1 قام بنشر يناير 27 الكاتب قام بنشر يناير 27 اخوي ابو عارف لم يعمل الكود الذي تفضلت بإضافته.... حيث يمكن تحديد اكثر من خيار في وقت واحد
تمت الإجابة ابو عارف قام بنشر يناير 27 تمت الإجابة قام بنشر يناير 27 في 27/1/2025 at 12:11, abofayez1 said: لم يعمل الكود الذي تفضلت بإضافته.... حيث يمكن تحديد اكثر من خيار في وقت واحد Expand يعمل عندي 100%100 يمكن جربت ملف آخر بداله جرب الكود في حدث كليك y_n CurrentDb.Execute ("UPDATE a SET a.y_n=false") DoCmd.RunCommand acCmdSaveRecord 1
abofayez1 قام بنشر يناير 27 الكاتب قام بنشر يناير 27 بيض الله وجهك... وجزاك خير الجزاء الكود الأخير عمل بامتياز شكرا لك 1
jjafferr قام بنشر يناير 27 قام بنشر يناير 27 السلام عليكم اجابات الشباب كانت تغير القيم في الجدول ، بينما احاول جاهدا التقليل من زيارات الجدول ، بسبب الشبكة والتقليل من الضغط على الجداول ، فيكون عملي على النموذج فقط 🙂 طريقة العمل: في النموذج اعمل حقل مخفي اسمه myID ، ثم نعمل حدثين على الحقل y_n : قبل التحديث: يتأكد انك اخترت صح ، وانك على سجل غير السجل السابق ، فعليه ، يغير قيمة الصح من السجل السابق (ID السجل موجود في myID) ، الى 0 بعد التحديث: نعطي رقم ID السجل للحقل myID Private Sub y_n_BeforeUpdate(Cancel As Integer) If Me.y_n = -1 And Me.id <> Me.myID Then '- y_n checked, and Record ID <> myID With Me.RecordsetClone .FindFirst "[ID]=" & Me.myID .Edit !y_n = 0 .Update End With End If End Sub Private Sub y_n_AfterUpdate() Me.myID = Me.id End Sub . 1622.aa.accdb.zipFetching info... 1
abofayez1 قام بنشر يناير 27 الكاتب قام بنشر يناير 27 عليكم السلام ورحمة الله وبركاته جزاك الله خيرا ... ورحمك الله ووالديك أخوي jjafferr فعلا حل إبداعي ومميز ... عمل بامتياز شكرا لك
شايب قام بنشر يناير 27 قام بنشر يناير 27 في 27/1/2025 at 16:05, jjafferr said: في النموذج اعمل حقل مخفي اسمه myID ، ثم نعمل حدثين على الحقل y_n : Expand متميز استاذنا لكن لو تم اختيار احد السجلات ثم تم اغلاق النموذج واعادة فتحه فسوف يستمر التاشير على خانه الاختيار السابقة وايضا اذا تم اختيار حقل او اكثر من الجدول فان الطريقة لن تحقق المطلوب الى ان يتم اعلاق الاختيار بالنقر على كل خانه املاه اخونا الشايب
abofayez1 قام بنشر يناير 27 الكاتب قام بنشر يناير 27 أخوي الشايب لحل هذه المشكلة أضفت كود عند فتح النموذج يتم تفريغ مربعات الاختيار ... فاحتلت كل المشكلة التي ذكرتها
jjafferr قام بنشر يناير 27 قام بنشر يناير 27 اهلا بالشايب الخبير 🙂 في 27/1/2025 at 17:38, شايب said: لكن لو تم اختيار احد السجلات ثم تم اغلاق النموذج واعادة فتحه فسوف يستمر التاشير على خانه الاختيار السابقة Expand ولحل هذ النقطة ، هذا الكود على حدث تحميل النموذج سيحل المشكلة (نحن قمنا باختيار سجل واحد سابقا ، فالبحث يتم لسجل واحد فقط) Private Sub Form_Load() '- Find the Checked y_n field Me.y_n.SetFocus DoCmd.FindRecord "-1", , , , , , True Me.myID = Me.id End Sub . اما النقطة الثانية ، فالمفروض ان يتم تغيير البيانات من النموذج فقط ، وإلا ، فيجب تحدبث الجدول (سيكون اسرع من تحديث آلاف السجلات في النموذج) 1
ابو عارف قام بنشر يناير 28 قام بنشر يناير 28 في 27/1/2025 at 20:06, jjafferr said: وإلا ، فيجب تحدبث الجدول (سيكون اسرع من تحديث آلاف السجلات في النموذج) Expand هذا قابلة اهتمام أكثر بنسبتة لي في 27/1/2025 at 20:06, jjafferr said: اما النقطة الثانية ، فالمفروض ان يتم تغيير البيانات من النموذج فقط Expand هذا كود بطريقة ثانية (في حدث واحد فقط و بدون اضافة كائنات اخرى) Dim RecNum As Integer RecNum = CurrentRecord DoCmd.SearchForRecord , , acFirst, "y_n=true": y_n = False DoCmd.SearchForRecord , , acLast, "y_n=true": y_n = False DoCmd.RunCommand acCmdSaveRecord DoCmd.GoToRecord , , acGoTo, RecNum: y_n = True aa.accdbFetching info...
شايب قام بنشر يناير 28 قام بنشر يناير 28 في 27/1/2025 at 19:51, abofayez1 said: أخوي الشايب لحل هذه المشكلة أضفت كود عند فتح النموذج يتم تفريغ مربعات الاختيار ... فاحتلت كل المشكلة التي ذكرتها Expand احسنت بارك الله فيك في 27/1/2025 at 20:06, jjafferr said: ولحل هذ النقطة ، هذا الكود على حدث تحميل النموذج سيحل المشكلة (نحن قمنا باختيار سجل واحد سابقا ، فالبحث يتم لسجل واحد فقط) Expand يا ابا عبد الله احسنت فزد ويمكن ايضا الاستغناء عن مريع النص الغير منضم واستبداله بمتغير عام حينها سيتم خفظ قيمة id في المتغير حتى لو اغلقنا النموذج واعدنا فتحه ولكنه حل جزئي و ليس جذري لكون المتغير يفقد قيمته عند اغلاق القاعدة مما يتطلب خطوة اضافية اشرتم اليها في ثناي ردكمالاخير الشايب
شايب قام بنشر يناير 28 قام بنشر يناير 28 في 28/1/2025 at 04:43, ابو عارف said: هذا كود بطريقة ثانية (في حدث واحد فقط و بدون اضافة كائنات اخرى) Expand هنا بالنسبة للنقطة الثانية 👇 في 27/1/2025 at 17:38, شايب said: وايضا اذا تم اختيار حقل او اكثر من الجدول فان الطريقة لن تحقق المطلوب الى ان يتم اعلاق الاختيار بالنقر على كل خانه Expand يتم حلها ولكن بعد عدة اختيارات اضافة الى رسالة خطأ عند النقر على نفس الحقل طبعا ممكن حل هذه المشكلات ولكن النقاش مع الاساتذه اكثر فائدة ومتعه اخونا الشايب
jjafferr قام بنشر يناير 28 قام بنشر يناير 28 في 28/1/2025 at 04:43, ابو عارف said: في حدث واحد فقط و بدون اضافة كائنات اخرى Expand احسنت اخوي ابو عارف بس ياريت تحل الخطأ: اختار صح في آخر سجل ، ثم روح لأول سجل واعمل صح ، بتحصل على خطأ. في 28/1/2025 at 06:36, شايب said: يتم حلها ولكن بعد عدة اختيارات اضافة الى رسالة خطأ عند النقر على نفس الحقل Expand يحتاج لها مزاج 🙂
jjafferr قام بنشر يناير 28 قام بنشر يناير 28 في هذا الموضوع ، اتضح جليا ان مقولتي صحيحة (للعلم ، اخونا العود @ابوخليل هو الذي صحح واخرج هذه الجملة بهذه الديباجة الجميلة ، شكرا لك 🙂 ) : اقتباس في اعتقادي ، مشاركة أكثر من شخص في الرد على السؤال ، يفتق الاذهان ويدمج التجارب ويبلور الافكار وفائدة للجميع ، فمنه نتعلم الطرق الاخرى للإجابة على السؤال Expand في 28/1/2025 at 04:43, ابو عارف said: في حدث واحد فقط و بدون اضافة كائنات اخرى Expand ولا يهمك ، وهاي طريقة بحدث واحد فقط Private Sub y_n_BeforeUpdate(Cancel As Integer) '- اشارة الى سجلات النموذج With Me.RecordsetClone '- حذف الصح السابق .FindFirst "[y_n]=-1" .Edit !y_n = 0 .Update End With End Sub . في 28/1/2025 at 06:36, شايب said: يتم حلها ولكن بعد عدة اختيارات اضافة الى رسالة خطأ عند النقر على نفس الحقل طبعا ممكن حل هذه المشكلات ولكن النقاش مع الاساتذه اكثر فائدة ومتعه Expand ولا يزال قيد التجربة 🙂
jjafferr قام بنشر يناير 28 قام بنشر يناير 28 في 28/1/2025 at 06:36, شايب said: 1. يتم حلها ولكن بعد عدة اختيارات اضافة الى رسالة خطأ عند النقر على نفس الحقل 2. طبعا ممكن حل هذه المشكلات ولكن النقاش مع الاساتذه اكثر فائدة ومتعه Expand 1. للأسف ما توصلت الى طريقة لعمل جميع التغييرات في النموذج اسرع من تغييرها من الجدول مباشرة عن طريق استعلام. للعلم ، عند تقديمي لإقتراح ، فانا انظر لقاعدة البيانات وكأن بها على الاقل 10,000 سجل. 2. في انتظار مشاركتك
شايب قام بنشر يناير 28 قام بنشر يناير 28 في 28/1/2025 at 08:01, jjafferr said: للأسف ما توصلت الى طريقة لعمل جميع التغييرات في النموذج اسرع من تغييرها من الجدول مباشرة عن طريق استعلام. Expand الحقيقة انك صرحت بما في نفسي تمام ولكني تعمدت عدم ذكره لغرض الحصول على اكثر من فكره في 28/1/2025 at 08:01, jjafferr said: 2. في انتظار مشاركتك Expand بكل امانة قبل مشاركة الاساتذة جربت طريقتين التعامل مع مصدر السجلات في الجدول استعلام مشابه لعمل الاستاذ ابو عارف وعمل بشكل ممتاز واعتقد هو الافضل والاسهل اما بشأن 👇 في 28/1/2025 at 06:36, شايب said: طبعا ممكن حل هذه المشكلات Expand ولكن هل الامر يستحق اضافة عدة اسطر لمعالجة ما يستجد من ملاحظات اخيرا مشاركتك الاخير تؤدي المطلوب ولكن ايضا تحتاج الى عدة اختيارات في حال وجود اختيار مسبق في الجدول وانا اعلم كما اشرتم 👇 في 27/1/2025 at 20:06, jjafferr said: فالمفروض ان يتم تغيير البيانات من النموذج فقط Expand ولكن قد يكون التعديل من نموذج اخر لغرض تحديث او تصفية لتقرير او او .... الخ الشايب 1
ابو عارف قام بنشر يناير 28 قام بنشر يناير 28 (معدل) في 28/1/2025 at 06:36, شايب said: وايضا اذا تم اختيار حقل او اكثر من الجدول فان الطريقة لن تحقق المطلوب الى ان يتم اعلاق الاختيار بالنقر على كل خانه Expand نظرا لوجهة نظر الاستاذ/جعفر حاليا نتعامل مع نموذج فقط و في مشاركتي القامة سنعالج تلك الخطاء ان شاء الله في 28/1/2025 at 06:57, jjafferr said: اختار صح في آخر سجل ، ثم روح لأول سجل واعمل صح ، بتحصل على خطأ. Expand أخي حعفر ربما تقصد سجل جديد لا سجل الأخير ، في العادة نستخدم اختيار صح/خطاء لسجلات موجودة مسبقا لا لجديدة ولكن لانستبعد ان مستخدم يقوم وضع العلامة بالخطاء، و لتخطي تلك الخطاء التعديل في مرفق aa.accdbFetching info... تم تعديل يناير 28 بواسطه ابو عارف
jjafferr قام بنشر يناير 28 قام بنشر يناير 28 في 28/1/2025 at 10:56, ابو عارف said: أخي حعفر ربما تقصد سجل جديد لا سجل الأخير Expand لا ، هو السجل الاخير ، ثم عمل الصح في السجل الاول: واشوف انك تداركت الخطأ في النسخة الاخيرة 🙂
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.