الانتقال إلى المحتوى

الغاء رسالة الحفظ


eslamshahin2009

Recommended Posts

السلام عليكم
عندى فورم عندما اقوم بعملية حسابية تظهر لى رسالة الحفظ
DO YOU WANT SAVE CAHNGES YOU HAVE MADE ?
اريد الغاء هذه الرسالة ولا اريد ان تظهر لى
ممكن

رابط هذا التعليق
شارك

السلام عليكم
تحدث هذه الرسالة في حالة انك غيرت اي شيء في الفورمة وتريد الخروج تظهر لك هذه الرسالة
لذا مش هينفع تختفي زي ماقال اخي pli احمد

لكن يمكنك قبل المغادرة من الفورم تعمل كده

clear_form(no_commit);
exit_form;



موفق

رابط هذا التعليق
شارك

الرسالة دى بتطلع اثناء العملية الحسابية ف اقوم بختيار حفظ فيقوم بتكملة العملية الحسابية
مع العلم فى الكود الى انا كاتبتوا واضع امر COMMIT_FORM

تم تعديل بواسطة eslamshahin2009
رابط هذا التعليق
شارك

اخي العزيز انت نتنتقل من بلوك يحتوي على ديتيلز الى بلوك آخر يحتوي على ديتيلز (اي انك تطلب من الفورم انشاء ريكورد جديد )وفي هذه الحالة يجب ان يسألك هل تريد الحفظ


اذا اردت الغائها اما ان تقوم بالحفظ عن طريق الكود commit قبل الإنتقال

او ان تعيد صياغة الشاشة بشكل افضل

تم تعديل بواسطة jadquraan
رابط هذا التعليق
شارك

عندى فورم تقوم بحساب مبيعات كل موظف فى كل شهر
عند القيام بالعملية الحسابية فى منتصف عمل الكود يقوم باظهار الرسالة
لو قمت بعمل حفظ لا يحسب غير الموظف رقم واحد فقط
اما اذا لم اوافق على الحفظ فيقوم بعملية الحساب على جميع الموظفين

رابط هذا التعليق
شارك

هذا هو الكود
عندما اجلعة يقوم بعمل لوب على 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;

الكود ده كان شغال معايا مش عارف فى اية

تم تعديل بواسطة eslamshahin2009
رابط هذا التعليق
شارك

جرب هيك :

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;

رابط هذا التعليق
شارك

لا يعمل اى تغير
يحسب فقط 11 شهر فقط ويقوم بحسابها بدون اى مشاكل
لاكن عند شهر 12 يقوم باظهار الرسالة عند اول موظف ثم يقوم
ثم يقوم باظهار خطا FRM-40508

تم تعديل بواسطة eslamshahin2009
رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية