بتاريخ: 2 يونيو 201213 سنة comment_225280 اذا كان لدي عدد الاجهزة مثلا20 جهاز وسعر الجهاز الواحد مثلا 60 اريد اضرب قيمة عدد الاجهزة في سعر قيمة الواحد ارجو الرد على من فضلكم واي نوع من tigger استخدم تقديم بلاغ
بتاريخ: 2 يونيو 201213 سنة comment_225281 السلام عليكم ورحمة الله وبركاتهفي property palette لـ remaining_qtyغير الخصائص التالية: calculation mode : formula formula : nvl(:dev_qty,0)*nvl(:one_qty,0) إذا كان عدد الأجهزة dev_qtyوسعر الجهاز الواحد one_qtyبالتوفيق تم تعديل 2 يونيو 201213 سنة بواسطة az123 تقديم بلاغ
بتاريخ: 2 يونيو 201213 سنة كاتب الموضوع comment_225286 اخي العزيز عملت post insertوضعت هذه القيمة update DEV_DEIL set DEV_QTY2 = (DEV_QTY*one_oty)where TENDOR_NO =:DEV_DEIL.TENDOR_NO;وتظهر لي العملية ولكن الطريقة التى وضعتها يمكن تكون الاصح ولكن عندما اعملها يظهر لي خطاء تقديم بلاغ
بتاريخ: 2 يونيو 201213 سنة كاتب الموضوع comment_225287 مشكور أخي العزيز عملت نفس الطريقة ولكم في post-insert ولكن اريد ان تظهر لي القيمة على طول اول ما اعمل الحفظ لا تظهر الا بعد الخروج من الصفحة وبعدها تظهر لي القيمة تقديم بلاغ
بتاريخ: 2 يونيو 201213 سنة comment_225290 السلام عليكماختي الفاضلة في هذه الامور الحسابية الافضل ان تكتبي اجراء وتستدعيه من خلال الفورم وان تمرري له البراميتريعني في هذه الحالة انشيئي اجراء واسمه على فرض Cal [/color] PROCEDURE cal (p1 in number,p2 in number ,p3 out number) IS BEGIN p3 :=p1*p2; END; بعدها اعملي BUTTON جديد وانشاء ترجير على هذا BUTTON واسم هذا الترجيرWHEN-BUTTON-PRESSEDواستدعي الاجراء داخل هذا BUTTON ومرري له البراميتر بهذه الطريقة cal(nvl(:dev_qty,0),nvl(:one_qty,0),:tot); طبعا بالامكان كتابة الكود مباشرة دون الحاجة الى اجراء ولكن لكي تتعودي ان تكتبي العملميات الحسابية عن طريق الاجراءوبهذه الطريقة تخرج النتيجة بمجرد الضغط كبسة استدعاء الاجراء تقديم بلاغ
بتاريخ: 2 يونيو 201213 سنة كاتب الموضوع comment_225294 يعني اسوي جدول اخر جديد cal ولا كيف تقديم بلاغ
بتاريخ: 2 يونيو 201213 سنة كاتب الموضوع comment_225296 يعني اعمل هذه الطريقة[/color] PROCEDURE DEV_QTY2 (dev_qty in number,one_qty in number ,DEV_QTY2 out number) IS BEGIN DEV_QTY2 :=dev_qty*one_qty; END;اذا ممكن تشوف الصورة المرفقة تقديم بلاغ
بتاريخ: 2 يونيو 201213 سنة comment_225300 لأ اختي الفاضلةقومي بانشاء اجراء Procedure من قائمة Program Units في الفورمواكتبي داحله هذا الكود [/size][/color] [color=#ff0000][size=5]PROCEDURE cal (p1 in number,p2 in number ,p3 out number) IS BEGIN p3 :=p1*p2; END; وقومي باستدعاء هذا الاجراء في Button بهذه الطريقة [/size][/color] [color=#ff0000][size=5]cal(nvl(:dev_qty,0),nvl(:one_qty,0),:tot); تقديم بلاغ
بتاريخ: 6 يونيو 201213 سنة كاتب الموضوع comment_225406 مشكور اخي العزيز عملت الكدود إلي اخبرتني به وتمت عملية الضرب ولكن لا فهمت الخطوات غير واضحه لان اتلخبط في الكود الذي تكتبة التى تظهر لي على شكل نجوم تقديم بلاغ
بتاريخ: 6 يونيو 201213 سنة comment_225423 السلام عليكم ورحمة الله وبركاته اختي العزيزة سأقوم بشرح الخطوات خطوة خطوةاولا ما المطلوب ...؟المطلوب هو اريد ان اضرب رقمين موجودين على الشاشة وان تخرج النتيجة مباشرة على الشاشةيوجد عدة طرق للذلك منها كتابة الكود داخل BUTTON او كتابة اجراء واستدعائه من خلال الــ BUTTONاولا سنكتب الكود داخل BUTTONالرقم الاول هو dev_qty وموجود على الشاشة الرقم الثاني هو one_qty وموجود على الشاشة النتيجة تظهر في tot_qty وموجود على الشاشة الموضوع بسيط جدا ننشأ ترجير على BUTTON واسم هذا الترجير WHEN-BUTTON-PRESSED ونكتب داخله :tot_qty:= :dev_qty *:one_qty ; اما اذا اردنا ان نكتب الكود داخل اجراء وان نستدعيه وهذا الافضل طبعا نعمل الاتي قومي بانشاء اجراء Procedure من قائمة Program Units في الفورم واكتبي داحله هذا الكود cal (p1 in number,p2 in number ,p3 out number) IS BEGIN p3 :=p1*p2; END; وتفسير هذا الكود هوcal اسم الاجراءp1 هو عبارة عن الرقم الاول ونمرره عبر براميترp2 هو عبارة عن الرقم الثاني ونمرره عبر براميترp3 هو عبارة عن نتيجة الضرب ويخزن في براميترولكي نستدعي هذا الاجراء عن اللزوم نقوم بأنشاء ترجير على الــ Button واسمه WHEN-BUTTON-PRESSEDنستدعي داخله الاجراء كالتالي cal(nvl(:dev_qty,0),nvl(:one_qty,0),:tot_qty); نستدعي الاجراء ونمرر البراميتر له وشرح الاستدعاء كالتاليCal اسم الاجراء:dev_qty نمرر من خلله الرقم الاول:one_qty نمرر من خلله الرقم الثانيtot_qty تظهر فيها النتيجة من خلال براميتر النتيجة تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.