jo_2010 قام بنشر الإثنين at 10:02 قام بنشر الإثنين at 10:02 (معدل) السادة الخبراء الافاضل If MsgBox("ماذا تريد ان تفعل اضغط Yes لفتح النموذج NO لفتح التقرير Cancel للتراجع " & vbCrLf & "" & vbCrLf & "الحمدلله", vbYesNoCancel + vbCritical + vbMsgBoxRight + vbMsgBoxRtlReading, "الله المستعان") = vbYes Then DoCmd.OpenForm "22" ElseIf vbNo Then DoCmd.OpenReport "33", acViewPreview ElseIf vbCancel Then Undo Else End If كتبت الكود بهذا الشكل ويعمل بصورة جيدة ولكن عند الضغط علىcancel يقوم بتنفيذ الامر السابق وهو فتح التقرير اريد عند الضفط على cancel غلق الرسالة اريد التعديل على هذا الكود بقاعدة if دون استخدام sselect Case تم تعديل الإثنين at 10:13 بواسطه jo_2010
ابو البشر قام بنشر الإثنين at 10:22 قام بنشر الإثنين at 10:22 19 دقائق مضت, jo_2010 said: السادة الخبراء الافاضل If MsgBox("ماذا تريد ان تفعل اضغط Yes لفتح النموذج NO لفتح التقرير Cancel للتراجع " & vbCrLf & "" & vbCrLf & "الحمدلله", vbYesNoCancel + vbCritical + vbMsgBoxRight + vbMsgBoxRtlReading, "الله المستعان") = vbYes Then DoCmd.OpenForm "22" ElseIf vbNo Then DoCmd.OpenReport "33", acViewPreview ElseIf vbCancel Then Undo Else End If كتبت الكود بهذا الشكل ويعمل بصورة جيدة ولكن عند الضغط علىcancel يقوم بتنفيذ الامر السابق وهو فتح التقرير اريد عند الضفط على cancel غلق الرسالة اريد التعديل على هذا الكود بقاعدة if دون استخدام sselect Case جرب هذا Dim result As VbMsgBoxResult result = MsgBox("ماذا تريد ان تفعل اضغط Yes لفتح النموذج NO لفتح التقرير Cancel للتراجع" & vbCrLf & vbCrLf & "الحمدلله", _ vbYesNoCancel + vbCritical + vbMsgBoxRight + vbMsgBoxRtlReading, "الله المستعان") If result = vbYes Then DoCmd.OpenForm "22" ElseIf result = vbNo Then DoCmd.OpenReport "33", acViewPreview ElseIf result = vbCancel Then Exit Sub ' 👈 هنا يخرج بدون أي إجراء End If 1
jo_2010 قام بنشر الإثنين at 13:06 الكاتب قام بنشر الإثنين at 13:06 (معدل) 2 ساعات مضت, ابو البشر said: جرب هذا Dim result As VbMsgBoxResult result = MsgBox("ماذا تريد ان تفعل اضغط Yes لفتح النموذج NO لفتح التقرير Cancel للتراجع" & vbCrLf & vbCrLf & "الحمدلله", _ vbYesNoCancel + vbCritical + vbMsgBoxRight + vbMsgBoxRtlReading, "الله المستعان") If result = vbYes Then DoCmd.OpenForm "22" ElseIf result = vbNo Then DoCmd.OpenReport "33", acViewPreview ElseIf result = vbCancel Then Exit Sub ' 👈 هنا يخرج بدون أي إجراء End If استاذى الفاضل شكرا لحضرتك مفيش اى تعديل علي الكود المرسل بدون إضافة Dim result as بدون متغيرات لان الرسالة دى بيتم توليدها من برنامج وجدتي علي الموقع ولا أستطيع التعديل علية انا بكتب عنوان الرسالة ومستواها وعدد الازرار وهو بينتج الكود اريد التعديل علي الكود كما هو هل هذا ممكن البرنامج موجود فى هذا الرابط تم تعديل الإثنين at 13:09 بواسطه jo_2010
Foksh قام بنشر الإثنين at 23:45 قام بنشر الإثنين at 23:45 10 ساعات مضت, jo_2010 said: اريد التعديل علي الكود كما هو هل هذا ممكن بدل كلمة Undo ، اجعلها Exit Sub فقط . 1
jo_2010 قام بنشر بالامس في 06:23 الكاتب قام بنشر بالامس في 06:23 6 ساعات مضت, Foksh said: بدل كلمة Undo ، اجعلها Exit Sub فقط . استاذى الفاضل قمت بتغيير Undo الى Exit Sub واعطى نفس النتيجة السابقة وهو تنفيذ اخر امر فتح التقرير اليك القاعدة للتعديل JO.accdb
kkhalifa1960 قام بنشر بالامس في 10:29 قام بنشر بالامس في 10:29 تفض د @jo_2010 المرفق بعد التعديل . ووافني بالرد . JO.rar
jo_2010 قام بنشر بالامس في 10:56 الكاتب قام بنشر بالامس في 10:56 21 دقائق مضت, kkhalifa1960 said: تفض د @jo_2010 المرفق بعد التعديل . ووافني بالرد . JO.rar 23.89 kB · 0 downloads الخبير المبدع شكرا على ابداعك بس حضرتك انا كنت عاوز تعطيل فقط على الكود وهو بنفس الشكل بدون متغيرات كنت كيبت الكلام دة قبل كدة مفيش اى تعديل علي الكود المرسل بدون إضافة Dim result as بدون متغيرات لان الرسالة دى بيتم توليدها من برنامج وجدتي علي الموقع ولا أستطيع التعديل علية انا بكتب عنوان الرسالة ومستواها وعدد الازرار وهو بينتج الكود اريد التعديل علي الكود كما هو هل هذا ممكن البرنامج موجود فى هذا الرابط
Foksh قام بنشر منذ 23 ساعات قام بنشر منذ 23 ساعات 5 ساعات مضت, jo_2010 said: استاذى الفاضل قمت بتغيير Undo الى Exit Sub واعطى نفس النتيجة السابقة وهو تنفيذ اخر امر فتح التقرير اليك القاعدة للتعديل JO.accdb 480 kB · 5 downloads بعد تجربة المرفق ، والتمعن فيه ، مشكلتك أخي الكريم في الجزء :- ElseIf vbNo Then السبب طبعاً أنه لا يفحص نتيجة رد الرسالة الكلي ، بل يعتبر vbNo قيمة ثابتة . وبالتالي يدخل إليه دائماً إذا لم تكن النتيجة vbYes . لذا فالأفضل من وجهة نظري ، والأصح هو استخدام Select Case في حالتك هذه . خلاف ذلك قد نضطر لاستخدام الرسالة مرتين في الجملة الشرطية ، وهذا سيكرر الرسالة مرتين داخل نفس الحدث . لذا جرب الفكرة التالية :- Private Sub أمر0_Click() Select Case MsgBox("ماذا تريد ان تفعل Yes فتح نموذج NO فتح تقرير Cancel تراجع" & vbCrLf & vbCrLf & "الحمدلله", _ vbYesNoCancel + vbCritical + vbMsgBoxRight + vbMsgBoxRtlReading, _ "الله المستعان") Case vbYes DoCmd.OpenForm "22" Case vbNo DoCmd.OpenReport "33", acViewPreview Case vbCancel Exit Sub End Select End Sub
jo_2010 قام بنشر منذ 20 ساعات الكاتب قام بنشر منذ 20 ساعات 2 ساعات مضت, Foksh said: بعد تجربة المرفق ، والتمعن فيه ، مشكلتك أخي الكريم في الجزء :- ElseIf vbNo Then السبب طبعاً أنه لا يفحص نتيجة رد الرسالة الكلي ، بل يعتبر vbNo قيمة ثابتة . وبالتالي يدخل إليه دائماً إذا لم تكن النتيجة vbYes . لذا فالأفضل من وجهة نظري ، والأصح هو استخدام Select Case في حالتك هذه . خلاف ذلك قد نضطر لاستخدام الرسالة مرتين في الجملة الشرطية ، وهذا سيكرر الرسالة مرتين داخل نفس الحدث . لذا جرب الفكرة التالية :- Private Sub أمر0_Click() Select Case MsgBox("ماذا تريد ان تفعل Yes فتح نموذج NO فتح تقرير Cancel تراجع" & vbCrLf & vbCrLf & "الحمدلله", _ vbYesNoCancel + vbCritical + vbMsgBoxRight + vbMsgBoxRtlReading, _ "الله المستعان") Case vbYes DoCmd.OpenForm "22" Case vbNo DoCmd.OpenReport "33", acViewPreview Case vbCancel Exit Sub End Select End Sub الخبير الفاضل foksh الذى لايبخل بعلمة علي احد اشكرك علي اهتمامك ولكني وجدت نمودج فى منتدانا الغالى من إبداع الخبير الفاضل منتصر الانسى لتوليد الرسالة بسهولة والكود مصمم بقاعدة if هذا هو اصرارى علي استخدام قاعدة If لان النموذج تم تصميمة بقاعدة If تستطيع الاطلاع علي النموذج الخاص بعمل كود الرسالة من إبداعات منتصر الانسي
AbuuAhmed قام بنشر منذ 15 ساعات قام بنشر منذ 15 ساعات (معدل) كما فهمت: Private Sub أمر0_Click() Dim msgRes As VbMsgBoxResult Const msg = "ماذا تريد ان تفعل Yes فتح نموذج NO فتح تقرير Cancel تراجع " msgRes = MsgBox(msg & vbCrLf & "" & vbCrLf & "الحمدلله", vbYesNoCancel + vbCritical + vbMsgBoxRight + vbMsgBoxRtlReading, "الله المستعان") '--- طريقة أولى ---- If msgRes = vbYes Then DoCmd.OpenForm "22" ElseIf msgRes = vbNo Then DoCmd.OpenReport "33", acViewPreview ElseIf msgRes = vbCancel Then Exit Sub End If '--- طريقة أخرى ---- 'Select Case msgRes ' Case vbYes ' DoCmd.OpenForm "22" ' Case vbNo ' DoCmd.OpenReport "33", acViewPreview ' Case vbCancel ' Exit Sub 'End Select '--------------- '... End Sub تم تعديل منذ 9 ساعات بواسطه AbuuAhmed 1
تمت الإجابة jo_2010 قام بنشر منذ 1 ساعه الكاتب تمت الإجابة قام بنشر منذ 1 ساعه الحمدللة الخبير الفاضل منتصر الانسى لة خالص الشكر اضاف select case الى البرنامج الخاض بة واعطى نتائج رائعة
AbuuAhmed قام بنشر منذ 44 دقائق قام بنشر منذ 44 دقائق 29 دقائق مضت, jo_2010 said: الحمدللة الخبير الفاضل منتصر الانسى لة خالص الشكر اضاف select case الى البرنامج الخاض بة واعطى نتائج رائعة توني أنتبه لردود الزملاء الخبراء بشكل دقيق وهي لا تختلف عن ردي الأخير، فالمشكلة لم تكن في الأكواد ولا في الخبراء، بل المشكلة في السائل وعدم استيعابه للحلول. أتمنى من زملائي عدم مجاراة السائلين في مثل هذه المواضيع، فالبرمجة (كتابة الأكواد) ليست بالمزاج وليس تصميمها حسب ما يطلبه المشاهدون. بما أن الحل كان موجودا فلما تطرح سؤالا مكررا له ولما تفرض طريقة ما على الآخرين!. هنا دور المشرفين لوقف مثل هذه المواضيع غير المنطقية مع الاعتذار.
Foksh قام بنشر منذ 26 دقائق قام بنشر منذ 26 دقائق 7 دقائق مضت, AbuuAhmed said: بما أن الحل كان موجودا فلما تطرح سؤالا مكررا له ولما تفرض طريقة ما على الآخرين!. هنا دور المشرفين لوقف مثل هذه المواضيع غير المنطقية مع الاعتذار. أستاذنا الغالي أبو احمد ،، بداية أحترم رأيك بشدة ، وأنت من الأشخاص الذين لهم بصمة فعلية في تقديم المساعدة لأخوتنا في القسم متى حللتم ، رغم أننا نفتقد وجودكم بيننا والإستفادة من فيض العلم الذي علمكم الله أياه . أخونا جو طرح سؤاله النابع من مشكلة واجهها في كود جاهز حصل عليه من أداة ، لكنه لم يلبي حاجته بسبب عدم توافق الكود حرفياً وفعلياً مع طلبه عند التعامل مع رسالة MsgBox من 3 أزرار ,, وقدم له الأخوة مجموعة حلول البرمجية المنطقية ؛ إلا أنه تمسك بالحبل الذي بين يديه ولم يفضل تبديله . لذا ومن ضمن الحلول كنت قد اقترحت عليه استخدام Select Case كما تفضلتم في طرحكم - إضافة إلى ما جاد به خبرائنا الكرام - مشكورين - ، فعاد إلى أصل الموضوع الذي حصل على الكود منه للأستاذ منتصر الأنسي - مشكوراً لجهده على انتاج الأداة - ، وقد لباه بتحديث يدعم Select Case حسب رغبته .. لكم الشكر على ما تقومون به من مساعدة ومد يد العون لأخوانكم أينما حلّت أناملكم الذهبية .. وفي النهاية انت تعلم أن من يبحث عن إجابة رغم تعدد الحلول إلا أنه سيفضل الأسهل والأبسط لمشروعه وحاجته وخبرته .
الردود الموصى بها