بتاريخ: 28 يوليو 200817 سنة comment_134315 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 replythanx تقديم بلاغ
بتاريخ: 3 أغسطس 200817 سنة comment_134895 السلام عليكم ورحمة الله وبركاتههذه مشكلة في الفورم يمكن التغلب عليها بأن يكون الحقل الذي يظهر للمسخدم من نوع summary ولكنه ليس حقل أساسياً على قاعدة البيانات ويكون الحقل الأساسي على قاعدة البيانات غير ظاهر للمستخدم ولكن تضع القيمة الموجود على الحقل الظاهر على الشاشة به في pre-insert , pre-updateحتى تجدها على قاعدة البياناتوالسلام عليكم ورحمة الله وبركاته تقديم بلاغ
بتاريخ: 4 أغسطس 200817 سنة comment_135010 لو المسألة مسألة انك تحفظ كل صف انت بتيجى عليه ، فدى مسألة سهلة ..... هنعمل الكود التالى فى الداتابيز الاول ، علشان نطبق عليه فى الفورمز :- 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 TIMER_INSERT.zip تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.