بتاريخ: 7 أكتوبر 200916 سنة comment_172025 السلام عليكمعندى فورم عندما اقوم بعملية حسابية تظهر لى رسالة الحفظ DO YOU WANT SAVE CAHNGES YOU HAVE MADE ?اريد الغاء هذه الرسالة ولا اريد ان تظهر لى ممكن تقديم بلاغ
بتاريخ: 7 أكتوبر 200916 سنة comment_172027 على ترجر ON-ERRORS و ترجر ON-MESSAGEاكتب: NULL; تقديم بلاغ
بتاريخ: 7 أكتوبر 200916 سنة comment_172030 السلام عليكمتحدث هذه الرسالة في حالة انك غيرت اي شيء في الفورمة وتريد الخروج تظهر لك هذه الرسالة لذا مش هينفع تختفي زي ماقال اخي pli احمدلكن يمكنك قبل المغادرة من الفورم تعمل كده clear_form(no_commit); exit_form; موفق تقديم بلاغ
بتاريخ: 7 أكتوبر 200916 سنة كاتب الموضوع comment_172032 الرسالة دى بتطلع اثناء العملية الحسابية ف اقوم بختيار حفظ فيقوم بتكملة العملية الحسابيةمع العلم فى الكود الى انا كاتبتوا واضع امر COMMIT_FORM تم تعديل 7 أكتوبر 200916 سنة بواسطة eslamshahin2009 تقديم بلاغ
بتاريخ: 7 أكتوبر 200916 سنة comment_172036 اخي العزيز انت نتنتقل من بلوك يحتوي على ديتيلز الى بلوك آخر يحتوي على ديتيلز (اي انك تطلب من الفورم انشاء ريكورد جديد )وفي هذه الحالة يجب ان يسألك هل تريد الحفظ اذا اردت الغائها اما ان تقوم بالحفظ عن طريق الكود commit قبل الإنتقال او ان تعيد صياغة الشاشة بشكل افضل تم تعديل 7 أكتوبر 200916 سنة بواسطة jadquraan تقديم بلاغ
بتاريخ: 7 أكتوبر 200916 سنة كاتب الموضوع comment_172037 عندى فورم تقوم بحساب مبيعات كل موظف فى كل شهر عند القيام بالعملية الحسابية فى منتصف عمل الكود يقوم باظهار الرسالة لو قمت بعمل حفظ لا يحسب غير الموظف رقم واحد فقط اما اذا لم اوافق على الحفظ فيقوم بعملية الحساب على جميع الموظفين تقديم بلاغ
بتاريخ: 7 أكتوبر 200916 سنة كاتب الموضوع comment_172047 هذا هو الكود عندما اجلعة يقوم بعمل لوب على 12 شهر الى موجودين فى جدول الشهور تظهر الرسالة عندما اجعلها 11 يقوم بعملية الحساب DECLARE V_AMOUNT NUMBER(10,2) DEFAULT 0 ; V_EMP_RE NUMBER ; CURSOR SUM_AMOUNT IS SELECT SUM(AMOUNT) FROM INVOICE_NO WHERE INVOICE_NO.EMP_ID = :EMPLOYEES.EMP_ID AND TO_NUMBER(TO_CHAR(INVOICE_NO.IN_DATE,'RRRR')) = :YEARS.YEARS AND TO_NUMBER(TO_CHAR(INVOICE_NO.IN_DATE,'MM')) = :MONTHS.MONTH ; BEGIN GO_BLOCK('EMPLOYEES'); LAST_RECORD ; V_EMP_RE := :SYSTEM.CURSOR_RECORD ; FIRST_RECORD ; FOR BB IN 1..V_EMP_RE -1 LOOP GO_BLOCK('MONTHS') ; FIRST_RECORD ; FOR DD IN 1..11 LOOP OPEN SUM_AMOUNT ; FETCH SUM_AMOUNT INTO V_AMOUNT ; CLOSE SUM_AMOUNT ; :SALES_AMOUNT := NVL(V_AMOUNT,0); COMMIT ; GO_BLOCK('MONTHS'); NEXT_RECORD ; synchronize; END LOOP ; GO_BLOCK('EMPLOYEES'); NEXT_RECORD ; synchronize; END LOOP ; END;الكود ده كان شغال معايا مش عارف فى اية تم تعديل 7 أكتوبر 200916 سنة بواسطة eslamshahin2009 تقديم بلاغ
بتاريخ: 7 أكتوبر 200916 سنة comment_172049 جرب هيك : Declare V_Amount Number(10,2) Default 0; V_Emp_Re Number; Cursor Sum_Amount Is Select Sum(Amount) From Invoice_No Where Invoice_No.Emp_Id = :Employees.Emp_Id And To_Number(To_Char(Invoice_No.In_Date,'Rrrr')) = :Years.Years And To_Number(To_Char(Invoice_No.In_Date,'Mm')) = :Months.Month; Begin Go_Block('Employees'); Last_Record; V_Emp_Re := :System.Cursor_Record; First_Record; For Bb In 1..V_Emp_Re -1 Loop Go_Block('Months'); First_Record; For Dd In 1..11 Loop Open Sum_Amount; Fetch Sum_Amount Into V_Amount; Close Sum_Amount; :Sales_Amount := Nvl(V_Amount,0); Go_Block('Months'); Next_Record; Synchronize; End Loop; Go_Block('Employees'); Next_Record; Synchronize; End Loop; Commit; End; تقديم بلاغ
بتاريخ: 7 أكتوبر 200916 سنة كاتب الموضوع comment_172052 لا يعمل اى تغير يحسب فقط 11 شهر فقط ويقوم بحسابها بدون اى مشاكل لاكن عند شهر 12 يقوم باظهار الرسالة عند اول موظف ثم يقومثم يقوم باظهار خطا FRM-40508 تم تعديل 7 أكتوبر 200916 سنة بواسطة eslamshahin2009 تقديم بلاغ
بتاريخ: 7 أكتوبر 200916 سنة comment_172083 السلام عليكمأخي الكريم يمكنك وضع الفورمة هنا + جداولها مع شرح فكرتهاكي نراهاوفقك الله تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.