الانتقال إلى المحتوى
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.

بخصوص الحفظ

Featured Replies

بتاريخ:

السلام عليكم
سوري يا اخوان مش بدخل الموقع دة في بعض الاحيان بس محتاجة رد ضروري لو سمحتو عندي جدول في رئيسي وفرعي مش عايزة يحفظ الرئيسي طالما الفرعي فارغ ما فيه بيانات
منتظرة الرد منكم والله
شكرا

بتاريخ:

هتعمل تريجر PRE-insert

IF :YOUR_BLCOK.ITEM_IN BLOCK  (THIS ITEM REQUIRD HAVE DATA) IS NULL THEN 
RAISE FORM_TRIGGER_FAILURE;
END IF ;



هتعمل تريجر وتشوف اي ايتم على البلوك الفرعي ( بس طبعا الايتم ده مينفعش يكون فاضي ) وهتقوله شوف الايتم ده لو فاضي ما تعملش حاجة ، ده الكود اللي مكتوب فوق

بتاريخ:
  • كاتب الموضوع

شكرا على ردك بس جربته ما بيشتغل

عندي في الجدول المتاح اللى بيربط بين الجدولين هو الحقل invoice_num

بتاريخ:

يافندم هو حضرتك حاطط التريجر PRE-insert على اي بلوك ؟؟
هتحطه على الماستر
ثانيا : ماينفعش يكون الشرط بتاعك هو حقل الربط ، عشان انت لما بتعمل ريلاشن فيه خاصية اسمها COPY VALUE FROM ITEM من غير ما تعمل حضرتك حاجة بتملأ لوحدها من الحقل المربوط بيه من الماستر
الخطوات كالتالي :
1- على البلوك الماستر هتعمل التريجر اللي قولنا عليه
2- الشرط هيكون على ايتم في البلوك الفرعي ، الايتم ده مايكونش ايتم الربط ، الايتم ده لازم يكون ركويرد ، يعني من الاخر ما يبنفعش يكون NULL في الداتابيز
لو حضرتك عامل كده من الاول وبرضه حفظ ، ممكن ترفع الفورمة بس بلاش RWR ، احفظها بامتداد TXT ارفعها
منتظرك

بتاريخ:

السلام عليكم
هو حل أخي عبدالله صحيح على افتراض ان عندك حقل في الديتيل requird
لكن ممكن حل اخر

في بلوك الديتيل يمكنك عمل أيتم جديد وتغير في خصائصه كالتالي
تخلي نوع البيانات number
ي موضوع ال calculation
calculation mode=summaru
summary function =count
sumrrized loc==detail_block
sumrrizes_item=item that must ineter in it data


خاصية number of item displayed=1
بعد كدا في تريجر pre insert
على مستوى master block

if :xx=0 then
message('you must enter at leat one record');
message('you must enter at leat one record');
raise form_trigger_failure;
end if;



على اساس الايتم الجديد اسمه xx
وممكن تخفيه

موفقين

بتاريخ:

السلام عليكم
طريقة أخرى:
ممكن عمل بروسيجر ويتم كتابته داخل الـــ PROGRAM UNIT

PROCEDURE CHK_RV IS
ALERT_BUTTON NUMBER;
BEGIN
IF NVL(:BLK1.F_RV,0 ) = 0 THEN
ALERT_BUTTON := SHOW_ALERT( 'RV' );
IF ALERT_BUTTON = ALERT_BUTTON1 THEN
RAISE FORM_TRIGGER_FAILURE;
END IF;
END IF;
END;



ويتم استدعاء اسم البروسيجر على زر الحفظ وعلى ترجر ON-COMMIT ويتم كتابة فيه :

CHK_RV;


بالتوفيق

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

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

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

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

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

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.