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

بتاريخ:

 

السلام عليكم...ارجوكم ساعدوني...

 

كيف يمكن ان اجعل حقل المفتاح الاساسي او اي حقل اخر في الفورم يأخذ قيمة تلقائي عندما اعمل رن للفورم ودون حدوث تكرر في هذه القيمة

 

بتاريخ:

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

ياهلافيك أخوووي,,,

 

بخصوص أخذ القيمة تلقائية ماهي المقصود هل مثلا تريد ان يكون فيها تاريخ اليوم أو عدد تلقائي أو ماهي القيمة التي تريدها أن تحتوي هذا الحقل عند فتح الفورمة.؟

 

لو كان المقصود عدد تلقائيا بحيث يزيد عند كل ما يتم فتح الفورمة يتم عمل هذا الكود .

Select Max(Item)+1 Into :BlockName.ItemName From TableName

 

,وتضع هذا الكود على تريقر في مستودى المديول بإسم 

WHEN-NEW-FORM-INSTANCE

وعند فتح الفورمة يظهر لك قيمة جديدة من رقم 1 ... وهكذا..

 

 

والله أعلم.

 

 

موفق,,

بتاريخ:

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

 

 

declare
  n number;
begin
   select max(field name) into n from table name;
create_record;
end;
 

 

بعد كذا بندخل بقية البيانات المتعلقة بهذا السجل

تم تعديل بواسطة Ahmad.Hasan

بتاريخ:

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

 

 

declare
  n number;
begin
   select max(field name) into n from table name;
create_record;
end;
 

 

بعد كذا بندخل بقية البيانات المتعلقة بهذا السجل

 

ولكن في هذه الحالة سيتم جلب اكبر قيمة دائما وان كان الحقل PK لن يتم ادخاله...لذلك يجب ان تضيفي على الكود بان يزيد 1 في كل مره يتم فيها الادخال حتى لا يتم التكرار او يمنعك من الحفظ ان كان الحقل PK.

بتاريخ:

طريقة max+1 في حالة اكثر من مستخدم هايعمل مشكلة , ولتفادي هذه المشكلة يوضع ايضا في ال pre-insert

الأفضل عمل sequence  ولكن قد تسقط بعض الأرقام اذا فتح المستخدم واخذ الرقم  لكنه لم يحفظ ( خرج يعني دون حفظ)...

بتاريخ:

الافضل هو وضع هذا الكود في ال pre insert triger

والافضل ايضا ان تقوم بعمل بروسيدر في الداتا بيز تعطيعا اسم الجدول والحقل ترجع لك بقيمه الحقل

وشكرا

بتاريخ:

طريقة max+1 في حالة اكثر من مستخدم هايعمل مشكلة , ولتفادي هذه المشكلة يوضع ايضا في ال pre-insert

الأفضل عمل sequence  ولكن قد تسقط بعض الأرقام اذا فتح المستخدم واخذ الرقم  لكنه لم يحفظ ( خرج يعني دون حفظ)...

 

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

بتاريخ:

الثلاث طرق المعروضة كحل لطالب الحل هي :

اولا sequence

ثانيا في pre-insert  للـ record  في Forms-trigger

ثالثا في before -insert  للـ database-Trigger

 

--شخصيا الثالثه أفضل الحلول نظرا لانها تتلافي كل اخطاء الفورم  من غلق الفورمة او افلات السيكوانس للكاش الخاص به او تكرار الحفظ بنفس البيانات علي نفس السيشن ...احيانا

 

خليك ف السلام وحط البزنس ف الداتابيز عشان تستريح B)

تم تعديل بواسطة Darwiesh.fci

بتاريخ:

اول شئ اذهب للitem التي تسبق الitem المراذ انها تاخذ القيمة اوتوماتيكالي واكتب عندها هذا الtrigger

*key-next-item

 

 declare

;a number
begin
;select nvl(max(substr(item_name,2)),1000)+1 from block_name
;block_name:= a:
;end
بتاريخ:

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

ياهلافيك أخوووي,,,

 

بخصوص أخذ القيمة تلقائية ماهي المقصود هل مثلا تريد ان يكون فيها تاريخ اليوم أو عدد تلقائي أو ماهي القيمة التي تريدها أن تحتوي هذا الحقل عند فتح الفورمة.؟

 

لو كان المقصود عدد تلقائيا بحيث يزيد عند كل ما يتم فتح الفورمة يتم عمل هذا الكود .

Select Max(Item)+1 Into :BlockName.ItemName From TableName

,وتضع هذا الكود على تريقر في مستودى المديول بإسم 

WHEN-NEW-FORM-INSTANCE

وعند فتح الفورمة يظهر لك قيمة جديدة من رقم 1 ... وهكذا..

 

 

والله أعلم.

 

 

موفق,,

Select nvl( Max(Item),0)+1 Into :BlockName.ItemName From TableName

  • بعد 2 سنة...
بتاريخ:

شكرا على الشرح المفيد عندى سوال عندى حقل اسمه المرجع وعملت فيه التسلسل ومضبوط وعندى حقل اخر رقم الملف ومحتاج اعمل رقم واحد لعشرين مرجع بحيث ان رقم الملف يكون 1 وبعد 25 مرجع يدنى رقم 2 للملف الثانى وهكزا وشكرا

  • بعد 2 أسابيع...
بتاريخ:

ممكن تعطييني اسم الجدول و اسم الحقلين اللي بدك تعملهم تسلسل

تم تعديل بواسطة قلقيلي

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

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

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

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

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

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.