دروس عن الTRIGGERS
يعطيك العافية ثامر
جهد رائع وان شاء الله في انتظار المزيد
والله الموفق
علي احمد
مبرمج اوراكل
aaab2000@hotmail.com
مشكور أستاذ
علي
تحياتي..
ثامر
مشكور على مرورك
مبرمج الأمة
لك تحياتي
ثامر
مشكوووووور
الصراحه الموضوع واجد مشوق ... جهد تستحقون عليه
الشكر
بارك الله فيكم ...
السلام عليكم
ومشكورين على هذا المجهود الطيب .
بسم الله الرحمن الرحيم
يا شباب بعد هذا الموضوع سوف تكون مؤهل لكي تصنع أزرار ((لكن أزرار مو عادية))
كيف يا ثامر ؟؟؟
راح أقول لكم كيف ؟؟؟
راح يكون عندك أربع ازرار ....
الزر الأول "أضافة"في هذا الزر يمكنك أن تضيف سجل وتعدل عليه عادي ...
الزر الثاني "modify" عند ضغط هذا الزر سعرض لك البيانات وتستطيع أن تعدل على هذه البيانات..
الزر الثالث "view" عند الضغط هذا الزر سوف يعرض لك البيانات ولكن لا يمكنك أن تعدل فيها ...
الزر الرابع "save" عند الضغط عليه فهو يحفظ .. ولكن يحفظ عند حدوث تغير "change"
الشاشة أو في حالة "query" الأستعلام ....
كل شيء بالمرفقات ...
**شرح الأكواد في الكومبايل
أمل أن تستفيد من هذا الموضوع
تحياتي
ثامر
السلام عليك ورحمة الله وبركاته
اولا احي جميع اعضاء المنتدى لمشاركتهم الفعالة ونع الان رجع المنتدى للحياة
ثانيا اتا سف على التاخير والسموحة .
وظيفة التريغر = تكبير شاشة Run time
مستواه = الفورم
نوعة =when_new_form instance
begin
set_window_property(forms_mdi_window,title,'مرحبا بك في الفريق العربي للبرمجة ');
set_window_property(forms_mdi_window,window_state,maximize);
set_window_property('window1',window_state,maximize);
end;
والله الموفق
علي احمد
مبرمج اوراكل
aaab2000@hotmail.com
السلام عليكم ,,
يعطيكم العافيه على الموضوع الرائع
ارغب بتريغر يفتح لي الشاشه بدوون المنيو الموجود في الاعلى
كما ارغب بتريغر اذا وضعت قميه اكثر من اربعة ارقام لا يقبل او اذا وضعت حروف في الحقل لا يقبل
الامر الاخر
تريغر اذا وضعت مثلا سنة 2007 لا يقبل
ولكم كل الشكر والتقدير
ران
احياء للموضوع من جميع المشاركين وجميع اعضاء المنتدى
ونشكر صاحب الموضوع وندعوا له ونسأل الله ان يجزيه كل الجزاء الحسن
لكم مني خالص التقدير
*********************
الفريق العربي للبرمجه
*********************
كان الله في عون العبد مادام العبد في عون اخيه
نحنوا نطمع المزيد
جزاكم الله كل خير يا شباب
والله يوفقكم كلكم
وشكر للأخ على أحمد على بداية الشعلة لموضوعه القيم
ونود منك مواصلة التريغرات القيمة هذه
بسم الله الرحمن الرحيم
جزاك الله كل خير أخي علي أحمد على الموضوع الأكثر من رائع وأعتقد أنه يستحق التثبيت
كما أشكر أخي الكريم ثامر على ما قدمه أيضا
كما أشكر كل من قدم في هذا الموضوع
وجزاكم الله خيرا إخوتي جميعا
أخوكم / لؤي (أبو العبد)
الف شكر على المجهود الرائع
بالتوفيق
الله يعطيك العافية
على هذا الموضوع
thanks alot
الف شكر اخوى
السلام عليكم ورحمة الله وبركاته
أخ ران
تقريبا هذي بعض المتطلبات اللتي طلبتها
و أرجوا أن تعذرني
حاولت أن أرفق لك الملف لكن محاولتي بائت بالفشل ولكن إليك هذه الخطوات
لعمل TEXT_ITEM لأربع خانات
بعد عمل التكست
كلك بالزر الايمن ثم تختارSMART TRIGGER
ثم تختار الحدث POST-TEXT-ITEM
بعد ذلك تكتب هذا الكود
IF LENGTH(:A)>4 THEN
MESSAGE('الرسالة التي تريدها أن تظهر');
END IF;
GO_ITEM('A');
بالنسبة للـــ المنيو الموجود بالأعلى
تستطيع أن تخفيه بدون حدث وذلك كاتالي
تذهب إلى MODULE
ثم تنقر عليه لتفتح لك الخصائص ثم تذهب إلى خاصية
MENU MODEL
وتزيل الملاحظة التي بجانبها ثم شغل الشاشة ستلاحظ أن المنيو قد أختفت
بالنسبة لطلباتك الأخرى مثل عام 2007 و أنه إذا وضعت حروف لايقبل
لم تحظر ذهني هذه الأفكار و أنشالله إذا قمت بحلها سأرسلها لك
أرجوا من الكل أن يدعوا لي بالتوفيق
والسلا خير ختام
تم تعديل هذه المشاركة بواسطة ثامر في 9 سبتمبر 2005 في 16:12
السلام عليكم ورحمة الله وبركاته
بصراحة موضوع ممتاز ومفيد لنا جميعا "خصوصا انا"
انا عندي فكر واريد ان احولها إلى تريقر هل ممكن ؟
فكرتي كالأتي:
كل موظف يستحق إجازة 30 يوم في السنة وتحسب 2.5 في الشهر 2.5 * 12 شهر = 30 يوم
كلو الكلام
طيب كل موظف يختلف عن الأخر بتاريخ التعيين مثلا :
الموظف محمد تاريخ تعيينه 1/5/1425 معنى ذلك انه في تاريخ 1/6 يستحق اجازة مقدارها يومين ونصف 2.5 وفي تاريخ 1/7 يستحق اجازة اخرى مقدارها 2.5
تضاف إلى الرصيد السابق الذي هو 2.5 فتصبح 5 ايام
الموظف عبدالله تاريخ تعيينه 5/7/1427 معنى ذلك انه في تاريخ 5/8يستحق اجازة مقدارها يومين ونصف 2.5 وفي تاريخ 5/9 يستحق اجازة اخرى مقدارها 2.5
تضاف إلى الرصيد السابق الذي هو 2.5 فتصبح 5 ايام وهكذا
كيف احول الفكرة هذة إلى ترقر في الداتابيس بحيث يتم عمل الترقر تلقائياً لكل الموظفين من غير تدخل سوى من الأفراد او من المؤسسات " صار خطاب سياسي هههههههه
انا حاولت اجد حل للمشكة في كل مكان لكن أغسلو ايدكم
بعض المنتديات المتخصصة تحذف مشاركتي او موضوعي الذي يتحدث على هذة المشكلة
اتمنى انهي مشروعي على ايديكم
وشكراً
ما تريد تنفيذه لا تستطيع تحقيقه بواسطة Trigger و إنما تستطيع تحقيقه بواسطة إجرائية procedure يتم وضعها ضمن Jop بحيث يتم تنفيذها تلقائياً كل يوم بحيث تقوم بإضافة الرصيد 2.5 إلى كل موظف مضى على تعيينه مدة شهر ....
RuN كتب:السلام عليكم ,,يعطيكم العافيه على الموضوع الرائع
ارغب بتريغر يفتح لي الشاشه بدوون المنيو الموجود في الاعلى
كما ارغب بتريغر اذا وضعت قميه اكثر من اربعة ارقام لا يقبل او اذا وضعت حروف في الحقل لا يقبل
الامر الاخر
تريغر اذا وضعت مثلا سنة 2007 لا يقبل
ولكم كل الشكر والتقدير
ران
طبعاً أخي الكريم في البداية المعذرة على الرد على هذا الموضوع بعد شهر من تاريخه :lol: ، لأنني لم أكن أعلم بوجود منتدى للأوراكل في الفريق العربي أما الحل فإنه بسيط جداً .
أولاً تحدد الحقل اللي أنت وضعته في النموذج وتضغط على F4 أي خصائص تذهب إلى خصائص الحقل وخاصية DataType تختار نوع البيانات التي تريدها في الحقل إما تاريخ أو رقم أو نص ... إلخ .
أما بالنسبة لا يقبل أكثر من أربعة حروف فإنها بسيطة من خاصية Maximum Length تكتب الرقم 4 .
أما الأخيرة فإنها تتم بتريجر وتضيف تريجر على مستوى الحقل من النوع (Post-Text-Item)
وتكتب فيه :
if :text_item4 = 2007 then
:text_item4 := '';
message('This Filed Value Can''t be 2007');
message('This Filed Value Can''t be 2007');
end if;:unsure:
:s
:blink:
نرجو الإفادة للجميع .
سلطان الحارثي كتب:السلام عليكم ورحمة الله وبركاتهبصراحة موضوع ممتاز ومفيد لنا جميعا "خصوصا انا"
انا عندي فكر واريد ان احولها إلى تريقر هل ممكن ؟
فكرتي كالأتي:
كل موظف يستحق إجازة 30 يوم في السنة وتحسب 2.5 في الشهر 2.5 * 12 شهر = 30 يوم
كلو الكلام
طيب كل موظف يختلف عن الأخر بتاريخ التعيين مثلا :
الموظف محمد تاريخ تعيينه 1/5/1425 معنى ذلك انه في تاريخ 1/6 يستحق اجازة مقدارها يومين ونصف 2.5 وفي تاريخ 1/7 يستحق اجازة اخرى مقدارها 2.5
تضاف إلى الرصيد السابق الذي هو 2.5 فتصبح 5 ايام
الموظف عبدالله تاريخ تعيينه 5/7/1427 معنى ذلك انه في تاريخ 5/8يستحق اجازة مقدارها يومين ونصف 2.5 وفي تاريخ 5/9 يستحق اجازة اخرى مقدارها 2.5
تضاف إلى الرصيد السابق الذي هو 2.5 فتصبح 5 ايام وهكذا
كيف احول الفكرة هذة إلى ترقر في الداتابيس بحيث يتم عمل الترقر تلقائياً لكل الموظفين من غير تدخل سوى من الأفراد او من المؤسسات " صار خطاب سياسي هههههههه
انا حاولت اجد حل للمشكة في كل مكان لكن أغسلو ايدكم
بعض المنتديات المتخصصة تحذف مشاركتي او موضوعي الذي يتحدث على هذة المشكلة
اتمنى انهي مشروعي على ايديكم
وشكراً
مرةً أخرى اعتذر عن الرد بعد مرور شهر من تاريخ الموضوع :P
أخي الكريم أنا عملت مرة برنامج بالآكسس وأكون معاك صريح في شاشة إعطاء الإجازات كنت أقوم بالتالي .
قائمة ليختار منها إسم الموظف .
وعند إختيار الموظف وضعت تريجر يقوم بالتالي :
سأكتب الخوارزمية طبعاً أو خوارزمية بالعربي :D
1- يقوم بحساب عدد سنوات الخدمة لنفس الموظف وذلك بحساب HireDate-Sysdate ،بالأيام طبعاً ويضعها في متغير .
2- يقوم بحساب عدد أيام الإجازات التي أخذها هذا الموظف ويضعها في متغيير .
3- من عدد سنوات الخدمة مثلاً سنتين وإحنا الآن في الثالث يقوم بحساب برقم الشهر وينقص من عدد الأيام الكلي عدد الأجازات التي أخذها الموظف . ويطلع الناتج على اساس أنه هو رصيد الإجازات التي يستحقها الموظف الآن .
فكرة أرجو أنها تعمل معاك .
Oracle 10g >>> ماذا تعرف عنه ؟ ؟؟
عمل Compile لجميع الكائنات الـ inviled لديك بقاعدة البيانات
OCP: Oracle Certified Professional 10gR2 Database Administration
اولا موضوع مهم وفعال جدا
ثانيا نتمني من المسئول عن هذا القسم الاستمرار فى شرح التريجرات كى تستمر فعالية واهميةالموضوع
وشكرا
وميجا
عايز تتعلم الاوراكل من تحت الصفر بطريقة مبتكرة وجديدة ؟ يبقى تدخل هنا
لو محتاج أى استفسار بخصوص أوراكل ديفولبر ؛ أو عايز
تعمل مشروعك الدراسي أو فى العمل بأوراكل اذا راسلنى على الخاص
OCA - OCP
Instructor & Oracle Developers