الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Formulas On Db Fields Problem

Featured Replies

بتاريخ:

When I make formula or summary (Calculation mode) in any field on the form it will calculate and output the correct one.



But when I want to save the data in the db fields (db block too) it will not save the total and calculations in the db fields.


How I can solve this problem plz?????



plz reply


thanx

بتاريخ:


السلام عليكم ورحمة الله وبركاته
هذه مشكلة في الفورم يمكن التغلب عليها بأن يكون الحقل الذي يظهر للمسخدم من نوع summary ولكنه ليس حقل أساسياً على قاعدة البيانات ويكون الحقل الأساسي على قاعدة البيانات غير ظاهر للمستخدم ولكن تضع القيمة الموجود على الحقل الظاهر على الشاشة به في
pre-insert , pre-update
حتى تجدها على قاعدة البيانات
والسلام عليكم ورحمة الله وبركاته

بتاريخ:

لو المسألة مسألة انك تحفظ كل صف انت بتيجى عليه ، فدى مسألة سهلة ..... هنعمل الكود التالى فى الداتابيز الاول ، علشان نطبق عليه فى الفورمز :-

CREATE TABLE calc (one NUMBER , two NUMBER , result NUMBER);
INSERT INTO CALC ( ONE, TWO, RESULT ) VALUES ( 
1, 2, NULL); 
INSERT INTO CALC ( ONE, TWO, RESULT ) VALUES ( 
2, 3, NULL); 
INSERT INTO CALC ( ONE, TWO, RESULT ) VALUES ( 
3, 4, NULL); 
INSERT INTO CALC ( ONE, TWO, RESULT ) VALUES ( 
4, 5, NULL); 
INSERT INTO CALC ( ONE, TWO, RESULT ) VALUES ( 
5, 6, NULL); 
INSERT INTO CALC ( ONE, TWO, RESULT ) VALUES ( 
6, 7, NULL); 
INSERT INTO CALC ( ONE, TWO, RESULT ) VALUES ( 
7, 8, NULL); 
INSERT INTO CALC ( ONE, TWO, RESULT ) VALUES ( 
8, 9, NULL); 
INSERT INTO CALC ( ONE, TWO, RESULT ) VALUES ( 
9, 10, NULL); 
commit;



فى الفورمز هنقوم بعمل تريجر WHEN-NEW-ITEM-INSTANCE على ITEM ال RESULT و نكتب جواه :-

:CALC.RESULT:=:CALC.ONE + :CALC.TWO;



ده على اساس ان ال RESULT هو حاصل مجموع البنديين الاخريين .

و بكده كل ما تيجى عند ITEM ال RESULT هتلاقيه أتحسب أوتومتيك .

أما اذا كنت عاوز اول ما تدخل على الفورم فى النتيجة تتحسب على كل الصفوف و تتحط مباشرتاً فى الداتابيز ..... فده مش هينفع الا ب TIMER

هنكتب فى تريجر WHEN-NEW-FORM-INSTANCE :-

declare
tt timer;
begin
tt:=create_timer('OUG',10,repeat);
end;



و فى تريجر ال WHEN-TIMER-EXPIRED :-

:CALC.RESULT:=:CALC.ONE + :CALC.TWO;
next_record;

if message_code = 40352  then
CLEAR_MESSAGE;
raise FORM_TRIGGER_FAILURE;
end if;



انا وضعت هذا المثال فى الملف المرفق .

and please don't hesitate to ask me again about anything you still don't understant it well .


have a nice day :D

TIMER_INSERT.zip

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

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

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

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

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

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.