abofayez1 قام بنشر الأحد at 21:32 قام بنشر الأحد at 21:32 السلام عليكم كيف أمنع التحديد المتعدد في خانة مربع الاختيار؟ وشكرا لكم
Foksh قام بنشر الأحد at 23:27 قام بنشر الأحد at 23:27 1 ساعه مضت, abofayez1 said: السلام عليكم وعليكم السلام ورحمة الله وبركاته ، هل لك أن توضح أكثر مطلبك !؟!؟ هل تقصد الـ Checkbox ؟؟؟؟؟؟؟؟؟؟ ارفق مثال لتتوضح فكرتك وهدفك
abofayez1 قام بنشر الإثنين at 07:05 الكاتب قام بنشر الإثنين at 07:05 (معدل) aa.accdb المطلوب السماح بتحديد سجل واحد فقط ومنع الاختيار المتعدد تم تعديل الإثنين at 07:17 بواسطه abofayez1
kkhalifa1960 قام بنشر الإثنين at 09:50 قام بنشر الإثنين at 09:50 (معدل) تفضل استاذ @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.accdb تم تعديل الإثنين at 09:51 بواسطه kkhalifa1960 1
abofayez1 قام بنشر الإثنين at 10:08 الكاتب قام بنشر الإثنين at 10:08 أشكرك أخي kkhalifa1960 لكن ظهرت لي مشكلة عند تحديد اي مربع اختيار يبقى التركيز على الاسم الأول الذي هو أحمد ولايتم نقل التركيز للاسم المقابل لمربع الاختيار المحدد
abofayez1 قام بنشر الإثنين at 12:11 الكاتب قام بنشر الإثنين at 12:11 اخوي ابو عارف لم يعمل الكود الذي تفضلت بإضافته.... حيث يمكن تحديد اكثر من خيار في وقت واحد
تمت الإجابة ابو عارف قام بنشر الإثنين at 13:04 تمت الإجابة قام بنشر الإثنين at 13:04 48 دقائق مضت, abofayez1 said: لم يعمل الكود الذي تفضلت بإضافته.... حيث يمكن تحديد اكثر من خيار في وقت واحد يعمل عندي 100%100 يمكن جربت ملف آخر بداله جرب الكود في حدث كليك y_n CurrentDb.Execute ("UPDATE a SET a.y_n=false") DoCmd.RunCommand acCmdSaveRecord 1
abofayez1 قام بنشر الإثنين at 14:42 الكاتب قام بنشر الإثنين at 14:42 بيض الله وجهك... وجزاك خير الجزاء الكود الأخير عمل بامتياز شكرا لك 1
jjafferr قام بنشر الإثنين at 16:05 قام بنشر الإثنين at 16:05 السلام عليكم اجابات الشباب كانت تغير القيم في الجدول ، بينما احاول جاهدا التقليل من زيارات الجدول ، بسبب الشبكة والتقليل من الضغط على الجداول ، فيكون عملي على النموذج فقط 🙂 طريقة العمل: في النموذج اعمل حقل مخفي اسمه 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.zip 1
abofayez1 قام بنشر الإثنين at 16:53 الكاتب قام بنشر الإثنين at 16:53 عليكم السلام ورحمة الله وبركاته جزاك الله خيرا ... ورحمك الله ووالديك أخوي jjafferr فعلا حل إبداعي ومميز ... عمل بامتياز شكرا لك
شايب قام بنشر الإثنين at 17:38 قام بنشر الإثنين at 17:38 1 ساعه مضت, jjafferr said: في النموذج اعمل حقل مخفي اسمه myID ، ثم نعمل حدثين على الحقل y_n : متميز استاذنا لكن لو تم اختيار احد السجلات ثم تم اغلاق النموذج واعادة فتحه فسوف يستمر التاشير على خانه الاختيار السابقة وايضا اذا تم اختيار حقل او اكثر من الجدول فان الطريقة لن تحقق المطلوب الى ان يتم اعلاق الاختيار بالنقر على كل خانه املاه اخونا الشايب
abofayez1 قام بنشر الإثنين at 19:51 الكاتب قام بنشر الإثنين at 19:51 أخوي الشايب لحل هذه المشكلة أضفت كود عند فتح النموذج يتم تفريغ مربعات الاختيار ... فاحتلت كل المشكلة التي ذكرتها
jjafferr قام بنشر الإثنين at 20:06 قام بنشر الإثنين at 20:06 اهلا بالشايب الخبير 🙂 2 ساعات مضت, شايب said: لكن لو تم اختيار احد السجلات ثم تم اغلاق النموذج واعادة فتحه فسوف يستمر التاشير على خانه الاختيار السابقة ولحل هذ النقطة ، هذا الكود على حدث تحميل النموذج سيحل المشكلة (نحن قمنا باختيار سجل واحد سابقا ، فالبحث يتم لسجل واحد فقط) 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
ابو عارف قام بنشر الثلاثاء at 04:43 قام بنشر الثلاثاء at 04:43 8 ساعات مضت, jjafferr said: وإلا ، فيجب تحدبث الجدول (سيكون اسرع من تحديث آلاف السجلات في النموذج) هذا قابلة اهتمام أكثر بنسبتة لي 8 ساعات مضت, jjafferr said: اما النقطة الثانية ، فالمفروض ان يتم تغيير البيانات من النموذج فقط هذا كود بطريقة ثانية (في حدث واحد فقط و بدون اضافة كائنات اخرى) 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.accdb
شايب قام بنشر الثلاثاء at 06:25 قام بنشر الثلاثاء at 06:25 10 ساعات مضت, abofayez1 said: أخوي الشايب لحل هذه المشكلة أضفت كود عند فتح النموذج يتم تفريغ مربعات الاختيار ... فاحتلت كل المشكلة التي ذكرتها احسنت بارك الله فيك 10 ساعات مضت, jjafferr said: ولحل هذ النقطة ، هذا الكود على حدث تحميل النموذج سيحل المشكلة (نحن قمنا باختيار سجل واحد سابقا ، فالبحث يتم لسجل واحد فقط) يا ابا عبد الله احسنت فزد ويمكن ايضا الاستغناء عن مريع النص الغير منضم واستبداله بمتغير عام حينها سيتم خفظ قيمة id في المتغير حتى لو اغلقنا النموذج واعدنا فتحه ولكنه حل جزئي و ليس جذري لكون المتغير يفقد قيمته عند اغلاق القاعدة مما يتطلب خطوة اضافية اشرتم اليها في ثناي ردكمالاخير الشايب
شايب قام بنشر الثلاثاء at 06:36 قام بنشر الثلاثاء at 06:36 1 ساعه مضت, ابو عارف said: هذا كود بطريقة ثانية (في حدث واحد فقط و بدون اضافة كائنات اخرى) هنا بالنسبة للنقطة الثانية 👇 12 ساعات مضت, شايب said: وايضا اذا تم اختيار حقل او اكثر من الجدول فان الطريقة لن تحقق المطلوب الى ان يتم اعلاق الاختيار بالنقر على كل خانه يتم حلها ولكن بعد عدة اختيارات اضافة الى رسالة خطأ عند النقر على نفس الحقل طبعا ممكن حل هذه المشكلات ولكن النقاش مع الاساتذه اكثر فائدة ومتعه اخونا الشايب
jjafferr قام بنشر الثلاثاء at 06:57 قام بنشر الثلاثاء at 06:57 2 ساعات مضت, ابو عارف said: في حدث واحد فقط و بدون اضافة كائنات اخرى احسنت اخوي ابو عارف بس ياريت تحل الخطأ: اختار صح في آخر سجل ، ثم روح لأول سجل واعمل صح ، بتحصل على خطأ. 21 دقائق مضت, شايب said: يتم حلها ولكن بعد عدة اختيارات اضافة الى رسالة خطأ عند النقر على نفس الحقل يحتاج لها مزاج 🙂
jjafferr قام بنشر الثلاثاء at 07:22 قام بنشر الثلاثاء at 07:22 في هذا الموضوع ، اتضح جليا ان مقولتي صحيحة (للعلم ، اخونا العود @ابوخليل هو الذي صحح واخرج هذه الجملة بهذه الديباجة الجميلة ، شكرا لك 🙂 ) : اقتباس في اعتقادي ، مشاركة أكثر من شخص في الرد على السؤال ، يفتق الاذهان ويدمج التجارب ويبلور الافكار وفائدة للجميع ، فمنه نتعلم الطرق الاخرى للإجابة على السؤال 2 ساعات مضت, ابو عارف said: في حدث واحد فقط و بدون اضافة كائنات اخرى ولا يهمك ، وهاي طريقة بحدث واحد فقط Private Sub y_n_BeforeUpdate(Cancel As Integer) '- اشارة الى سجلات النموذج With Me.RecordsetClone '- حذف الصح السابق .FindFirst "[y_n]=-1" .Edit !y_n = 0 .Update End With End Sub . 45 دقائق مضت, شايب said: يتم حلها ولكن بعد عدة اختيارات اضافة الى رسالة خطأ عند النقر على نفس الحقل طبعا ممكن حل هذه المشكلات ولكن النقاش مع الاساتذه اكثر فائدة ومتعه ولا يزال قيد التجربة 🙂
jjafferr قام بنشر الثلاثاء at 08:01 قام بنشر الثلاثاء at 08:01 منذ ساعه, شايب said: 1. يتم حلها ولكن بعد عدة اختيارات اضافة الى رسالة خطأ عند النقر على نفس الحقل 2. طبعا ممكن حل هذه المشكلات ولكن النقاش مع الاساتذه اكثر فائدة ومتعه 1. للأسف ما توصلت الى طريقة لعمل جميع التغييرات في النموذج اسرع من تغييرها من الجدول مباشرة عن طريق استعلام. للعلم ، عند تقديمي لإقتراح ، فانا انظر لقاعدة البيانات وكأن بها على الاقل 10,000 سجل. 2. في انتظار مشاركتك
شايب قام بنشر الثلاثاء at 08:33 قام بنشر الثلاثاء at 08:33 26 دقائق مضت, jjafferr said: للأسف ما توصلت الى طريقة لعمل جميع التغييرات في النموذج اسرع من تغييرها من الجدول مباشرة عن طريق استعلام. الحقيقة انك صرحت بما في نفسي تمام ولكني تعمدت عدم ذكره لغرض الحصول على اكثر من فكره 26 دقائق مضت, jjafferr said: 2. في انتظار مشاركتك بكل امانة قبل مشاركة الاساتذة جربت طريقتين التعامل مع مصدر السجلات في الجدول استعلام مشابه لعمل الاستاذ ابو عارف وعمل بشكل ممتاز واعتقد هو الافضل والاسهل اما بشأن 👇 1 ساعه مضت, شايب said: طبعا ممكن حل هذه المشكلات ولكن هل الامر يستحق اضافة عدة اسطر لمعالجة ما يستجد من ملاحظات اخيرا مشاركتك الاخير تؤدي المطلوب ولكن ايضا تحتاج الى عدة اختيارات في حال وجود اختيار مسبق في الجدول وانا اعلم كما اشرتم 👇 12 ساعات مضت, jjafferr said: فالمفروض ان يتم تغيير البيانات من النموذج فقط ولكن قد يكون التعديل من نموذج اخر لغرض تحديث او تصفية لتقرير او او .... الخ الشايب 1
ابو عارف قام بنشر الثلاثاء at 10:56 قام بنشر الثلاثاء at 10:56 (معدل) 4 ساعات مضت, شايب said: وايضا اذا تم اختيار حقل او اكثر من الجدول فان الطريقة لن تحقق المطلوب الى ان يتم اعلاق الاختيار بالنقر على كل خانه نظرا لوجهة نظر الاستاذ/جعفر حاليا نتعامل مع نموذج فقط و في مشاركتي القامة سنعالج تلك الخطاء ان شاء الله 4 ساعات مضت, jjafferr said: اختار صح في آخر سجل ، ثم روح لأول سجل واعمل صح ، بتحصل على خطأ. أخي حعفر ربما تقصد سجل جديد لا سجل الأخير ، في العادة نستخدم اختيار صح/خطاء لسجلات موجودة مسبقا لا لجديدة ولكن لانستبعد ان مستخدم يقوم وضع العلامة بالخطاء، و لتخطي تلك الخطاء التعديل في مرفق aa.accdb تم تعديل الثلاثاء at 11:13 بواسطه ابو عارف
jjafferr قام بنشر الثلاثاء at 11:14 قام بنشر الثلاثاء at 11:14 18 دقائق مضت, ابو عارف said: أخي حعفر ربما تقصد سجل جديد لا سجل الأخير لا ، هو السجل الاخير ، ثم عمل الصح في السجل الاول: واشوف انك تداركت الخطأ في النسخة الاخيرة 🙂
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.