jo_2010 قام بنشر مارس 30 قام بنشر مارس 30 (معدل) السادة الخبراء الافاضل 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 تم تعديل مارس 30 بواسطه jo_2010
ابو البشر قام بنشر مارس 30 قام بنشر مارس 30 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 قام بنشر مارس 30 الكاتب قام بنشر مارس 30 (معدل) 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 بدون متغيرات لان الرسالة دى بيتم توليدها من برنامج وجدتي علي الموقع ولا أستطيع التعديل علية انا بكتب عنوان الرسالة ومستواها وعدد الازرار وهو بينتج الكود اريد التعديل علي الكود كما هو هل هذا ممكن البرنامج موجود فى هذا الرابط تم تعديل مارس 30 بواسطه jo_2010
Foksh قام بنشر مارس 30 قام بنشر مارس 30 10 ساعات مضت, jo_2010 said: اريد التعديل علي الكود كما هو هل هذا ممكن بدل كلمة Undo ، اجعلها Exit Sub فقط . 1
jo_2010 قام بنشر مارس 31 الكاتب قام بنشر مارس 31 6 ساعات مضت, Foksh said: بدل كلمة Undo ، اجعلها Exit Sub فقط . استاذى الفاضل قمت بتغيير Undo الى Exit Sub واعطى نفس النتيجة السابقة وهو تنفيذ اخر امر فتح التقرير اليك القاعدة للتعديل JO.accdb
kkhalifa1960 قام بنشر مارس 31 قام بنشر مارس 31 تفض د @jo_2010 المرفق بعد التعديل . ووافني بالرد . JO.rar
jo_2010 قام بنشر مارس 31 الكاتب قام بنشر مارس 31 21 دقائق مضت, kkhalifa1960 said: تفض د @jo_2010 المرفق بعد التعديل . ووافني بالرد . JO.rar 23.89 kB · 0 downloads الخبير المبدع شكرا على ابداعك بس حضرتك انا كنت عاوز تعطيل فقط على الكود وهو بنفس الشكل بدون متغيرات كنت كيبت الكلام دة قبل كدة مفيش اى تعديل علي الكود المرسل بدون إضافة Dim result as بدون متغيرات لان الرسالة دى بيتم توليدها من برنامج وجدتي علي الموقع ولا أستطيع التعديل علية انا بكتب عنوان الرسالة ومستواها وعدد الازرار وهو بينتج الكود اريد التعديل علي الكود كما هو هل هذا ممكن البرنامج موجود فى هذا الرابط
Foksh قام بنشر مارس 31 قام بنشر مارس 31 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 قام بنشر مارس 31 الكاتب قام بنشر مارس 31 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 قام بنشر مارس 31 قام بنشر مارس 31 (معدل) كما فهمت: 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 تم تعديل April 1 بواسطه AbuuAhmed 1
تمت الإجابة jo_2010 قام بنشر April 1 الكاتب تمت الإجابة قام بنشر April 1 الحمدللة الخبير الفاضل منتصر الانسى لة خالص الشكر اضاف select case الى البرنامج الخاض بة واعطى نتائج رائعة
AbuuAhmed قام بنشر April 1 قام بنشر April 1 29 دقائق مضت, jo_2010 said: الحمدللة الخبير الفاضل منتصر الانسى لة خالص الشكر اضاف select case الى البرنامج الخاض بة واعطى نتائج رائعة توني أنتبه لردود الزملاء الخبراء بشكل دقيق وهي لا تختلف عن ردي الأخير، فالمشكلة لم تكن في الأكواد ولا في الخبراء، بل المشكلة في السائل وعدم استيعابه للحلول. أتمنى من زملائي عدم مجاراة السائلين في مثل هذه المواضيع، فالبرمجة (كتابة الأكواد) ليست بالمزاج وليس تصميمها حسب ما يطلبه المشاهدون. بما أن الحل كان موجودا فلما تطرح سؤالا مكررا له ولما تفرض طريقة ما على الآخرين!. هنا دور المشرفين لوقف مثل هذه المواضيع غير المنطقية مع الاعتذار. 1
Foksh قام بنشر April 1 قام بنشر April 1 7 دقائق مضت, AbuuAhmed said: بما أن الحل كان موجودا فلما تطرح سؤالا مكررا له ولما تفرض طريقة ما على الآخرين!. هنا دور المشرفين لوقف مثل هذه المواضيع غير المنطقية مع الاعتذار. أستاذنا الغالي أبو احمد ،، بداية أحترم رأيك بشدة ، وأنت من الأشخاص الذين لهم بصمة فعلية في تقديم المساعدة لأخوتنا في القسم متى حللتم ، رغم أننا نفتقد وجودكم بيننا والإستفادة من فيض العلم الذي علمكم الله أياه . أخونا جو طرح سؤاله النابع من مشكلة واجهها في كود جاهز حصل عليه من أداة ، لكنه لم يلبي حاجته بسبب عدم توافق الكود حرفياً وفعلياً مع طلبه عند التعامل مع رسالة MsgBox من 3 أزرار ,, وقدم له الأخوة مجموعة حلول البرمجية المنطقية ؛ إلا أنه تمسك بالحبل الذي بين يديه ولم يفضل تبديله . لذا ومن ضمن الحلول كنت قد اقترحت عليه استخدام Select Case كما تفضلتم في طرحكم - إضافة إلى ما جاد به خبرائنا الكرام - مشكورين - ، فعاد إلى أصل الموضوع الذي حصل على الكود منه للأستاذ منتصر الأنسي - مشكوراً لجهده على انتاج الأداة - ، وقد لباه بتحديث يدعم Select Case حسب رغبته .. لكم الشكر على ما تقومون به من مساعدة ومد يد العون لأخوانكم أينما حلّت أناملكم الذهبية .. وفي النهاية انت تعلم أن من يبحث عن إجابة رغم تعدد الحلول إلا أنه سيفضل الأسهل والأبسط لمشروعه وحاجته وخبرته . 1
الردود الموصى بها