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

max(value)+1

Featured Replies

بتاريخ:

السلام عليكم ورحمة الله وبركاته

لو كان يوجد في الفورم بلك بيانات اسمه emp ويحتوي علي عمود اسمه id

وعند عمل run لبلك البيانات ومن ثم عمل insert لو أردنا أن تظهر قيمة id للسجل التالي كما يلي

max(id)+1 from emp

فكيف يتم كتابة هذه الصيغة في الفورم ، وأين يتم كتابتها

جزاكم الله كل خير

بتاريخ:

بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته أخي الكريم يوجد أكثر من طريقة واحدة منها
when new_record_instance
ونضع داخله الكود
الثاني قبل تخزين الفورم تضع trigger على مستوى الdatablock
pre_insert ولكن يجبب أن تعمل الحقل وهو الid خاصية الrequierd no

بتاريخ:

السلام عليكم
لعمل هذه لايجب استخدام تريدر when-new-record-instance لانه يفاير ايضا عند النقل بين الريكوردز عند الكويري
و سيتسبب في مشاكل
يفضا ان تضع الكود في تريجر key-crerec
كالاتي

SELECT  NVL(MAX(ID),0)+1
INTO  :MP.ID
FROM  EMP;


او في تريجر
PRE-INSERT علي مستوي البلوك
طبعا مع تغيير خاصية الايتم REQUIRED إلى NO
كما ذكر الاخ الكريم
و عمل حقل الID ديسبلاي ايتم او NOT ENABLED TEXT ITEM
بالتوفيق

بتاريخ:

when-new-form-instance

بتاريخ:

على حسب المطلوب منك اذا كنت تريد ان تضع القيمة للحفظ فيجب ان تكون فى post_insert علي مستوى block لانه اذا كان فى خلاف هذا وكان يعمل اكثر من شخص عند الادخال سوف يظهر error لانه سوف يكون هناك تعارض فى عدد السجلات المفتوحة لهذا الحقل اما فى post_insert يضع القيمة عند الادخال والحفظ فقط
بالنسبة الى الطريقة اذا كان الحقل id من نوع number

SELECT  NVL(MAX(ID),0)+1
INTO  :MP.ID
FROM  EMP;


اما اذا كان من نوع char يكون كالتالي

SELECT MAX(NVL(TO_NUMBER(ID,0))  +  1)
INTO   :ID
FROM   EMP;


وان شاء الله تعمل

بتاريخ:

السلام عليكم
الاخ khalideed
تريجر post-insert
يفاير أثناء عملية الحفظ و بعد إدخال السجل في قاعدة البيانات
و بما ان الحقل المطلوب عمل اوتوماتيك برايمري كي هو حقل required و لا يقبل null
فعملية الإدخال لن تتم بصورة صحيحة
و يجب وضع الكود الذي كتبته في تريجر pre-insert و ليس post-insert
و مرفق بيانات تعريف التريجر post-insert
بالتوفيق


Description

Fires during the Post and Commit Transactions process, just after a record is inserted.  It fires once for each record that is inserted into the database during the commit process.
Definition Level  form or block

Legal Commands

SELECT statements, DML statements (DELETE, INSERT, UPDATE), unrestricted built-ins
Enter Query Mode  no

Usage Notes

Use a Post-Insert trigger to audit transactions.

On Failure

Form Builder performs the following steps when the Post-Insert trigger fails:

n sets the error location

n rolls back to the most recent savepoint

Fires In

Post and Commit Transactions
See Process Flowcharts
بتاريخ:
  • كاتب الموضوع

السلام عليكم ورحمة الله وبركاته

أرفق لكم الملف الذي أطبق عليه

وهو عبارة عن قاعدة بيانات لقيود محاسبية ودليل حسابات قمت بإنشائها علي 10g
وذلك للتعلم من خلالها على الفورم

وجزاكم الله كل خير وبارك لكم في أعمالكم

بتاريخ:

مشكوووور يا اخ jamal_rrkk على هذه المشاركة المميزة ولو انزلتها في منتدى المشاريع لكان افضل ليستفيد منها الجميع
وبارك الله فيك ...

بتاريخ:

الاخ الكريم HONAN جزاك الله خير
كل المعلومات التي قلتها صحيحة ولكن يبدا اننى اخطأت بدون قصد وكتبت POST-INSERT ولكن كما قلت وتفضلت هو PRE-INSERT هو الصحيح واسف على الخطأ غير المقصود

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

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

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

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

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

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.