الانتقال إلى المحتوى

مطور النماذج Form Developer 10G


sadig41

Recommended Posts

الاخوة في المنتدي السلام عليكم ورحمة الله
مازلت عضوا مبتديء في المنتدي وفي الاوراكل
لكن حفيت قدماي بحثا عن موارد تعليمية خصوصا عن مطور الاوراكل 10G ةمع ظهور حزمة التطوير 11g التي لم استطع تنزيلها حتي الان علي جهازي اصبح الامر وكان التقنية تريد ان تسبقنا دائما. كمحاولة لرمي حجر في البركة لتتحرك اقدم هذه المجموعة من الدروس عن مطور الاوراكل 10g اضع فيها عصارة مجهودي راجيا ان يستفيد منها الاخوة. وراجيا الثواب من الله في شهر رمضان الذي قصرنا فيه كثير ومع تباشير العشر الاواخر كل ما اريده منك دعوة بظهر الغيب
اخوكم sadig41
المحتويات

  1. مقدمة
  2. متطلبات
  3. ادوات المطور
  4. تشغيل ادوات المطور في الوندوز
  5. شاشة باني نماذج الاوراكل الرئيسة
  6. متصفح الكائنات Object Navigator
  7. الاتصال بالقاعدة
  8. تصميم النماذج
  9. انشاء نموذج يحوي بلوك وحيد Single لآمخؤن
  10. انشاء بلوك جديد
  11. محرر المخطط Layout Editor
  12. خصائص العرض
  13. حفظ، وتوليد وتنفيذ النماذج
  14. حفظ النماذج
  15. ترجمة وبناء النموذج Compiling / Building
  16. تشغيل النموذج Running
  17. الاستعلام بالمثال Query By Example
  18. تمرين: انشاء نموذج ذو بلوك وحيد
  19. انشاء نموذج رئيسي / تفاصيل Master – Detail
  20. العلاقة رئيسي – تفاصيل
  21. خطوات انشاء النموذج رئيسي – تفاصيل
  22. انشاء البلوك الرئيس
  23. انشاء بلوك التفاصيل
  24. خصائص علاقة النموذج رئيسي تفاصيل
  25. وحدة البرنامج Program Unit في نموذج رئيسي تفاصيل
  26. توسيع نموذج رئيسي تفاصيل
  27. تمرين : انشاء نموذج رئيسي تفاصيل
  28. لائحة القيم List of Values (LOV) والحقول غير المعتمدة علي جدول
  29. انشاء لائحة قيم
  30. انشاء LOV جديدة
  31. تحديد نص استعلام LOV
  32. تحديد خصائص مخطط العمود Column Mapping
  33. ربط LOV مع عنصر
  34. اختبار LOV
  35. الحقول غير المعتمدة علي جدول
  36. اضافة عنصر جديد لبلوك موجود
  37. انشاء قادح Trigger
  38. انشاء لائحة قيم جديدة
  39. تمرين : انشاء LOV و عنصر غير معتمد علي جدول NBTF
  40. وحدات البرنامج لمطور النماذج ووحات البرنامج المخرنة
  41. انشاء اجراء Procedure في باني النماذج
  42. اضافة عنصر جديد لبلوك EMPLOYEE
  43. انشاء اجراء لحساب الشعب الاخري Department
  44. انشاء قادح لنداء الاجراء
  45. حفظ ونرجمة وتشغيل النموذج
  46. انشاء وحدة برنامج محفوظة (اجراء) في SQL*Plus
  47. اجراءات محفوظة وقوادح اضافية
  48. توليد معرف فريد او متتال باستخدام جدول
  49. توليد معرف فريد او متتال باستخدام متسلسلات الاوراكل
  50. اختبار القيود لدي العميل
  51. اضافة منبه (رسائل منبثقة)
  52. استعلام النماذج تلقائيا
  53. تجهيز العناصر بالقيم الافتراضية
  54. اضافة وظائف لازرار الاوامر
  55. تمرير الوسائط بين النماذج
  56. تمرين: الاجراءات والقوادح
  57. مباديء تقارير الاوراكل
  58. بدء اداة التقارير في الوندوز
  59. متصفح كائنات تقارير الاوراكل
  60. انشاء تقرير في باني التقارير
  61. انشاء تقرير من جدول واحد
  62. تحديد نموذج البيانات والتخطيط
  63. حفظ وتوليد وتشغيل التقرير
  64. تمرين : انشاء تقرير
  65. انشاء تقرير رئيسي تفاصيل
  66. تحديد نموذج البيانات والمخطط لتقرير رئيسي تفاصيل
  67. حفظ وتوليد وتشغيل تقرير رئيسي تفاصيل
  68. تمرين: انشاء تقرير رئيسي تفاصيل
  69. التقارير البارمترية
  70. انشاء نموذج تقارير مخصص
  71. انشاء القوائم في النماذج
  72. بنية القوائم في النماذج
  73. انشاء قائمة مخصصة



واذا كان لاخ اخ او اخت سرال فانا حاضر للاجابة عليه

رابط هذا التعليق
شارك

  • الردود 34
  • البداية
  • اخر رد

أكثر المشاركين في هذا الموضوع

  • sadig41

    22

  • abdo_osman

    2

  • scince

    2

  • Dream_Works

    1

أكثر المشاركين في هذا الموضوع

. مقدمة
في هذه الدورة المصغرة سندرس مطور الاوراكل 10g والذي يتضمن Oracle Form 10g و Oracle Report 10g. والهدف الرئيسي هو تبيين وتقديم تعليمات واضحة لانشاء وتعديل مدخلات البيانات ونماذج الاستعلام بعدة اشكال بالاضافة الي التقارير والمخططات
نعتمد علي الاصدار 10.12.0.2 من المطور لذا اذا لم يكن المطور الذي ستطبق عليه من نفس الاصدار فقد تجد بعض الاختلافات الصغيرة لان اوراكل تعمل علي ادخال بعض التعييرات بين الاصدارات المختلفة

رابط هذا التعليق
شارك

.المتطلبات


قبل ان تبدأ في هذه الدورة يجب ان يكون الاوراكل مهيأ Installed علي جهازك ولديك حساب للدخول. فلن نخوض في تفاصيل تنزيل الاوراكل. والنسخة المنزلة علي جهازي هي 11g. لكن ستجد في المنتديات الكثير من المواد التعليمية عن اتزيل الاوراكل


كما انصحك بعدم تطبيق هذه الدورة علي الحساب System لانك ربما تضر بعض جداول النظام ولو عن طريق الخطأ. لكن يمكنك استخدام الحساب scott / tiger والافضل ان تنشيء مخطط جديد Schem حتي تطبق عليها هذا العمل.


صممت الاوراكل المطور 10g كطبقة ثالثة three tier (طبقة واجهة المستخدم) مما يعني انك في حاجة لتشغيله علي خادم Server. تطبيق الخادم (Oracle Application Server (AS) او حاوية الجافا OC4J وهي التي سنستخدمها هنا) يعمل علي الخادم الثاني بينما تطبيق العميل (المنفذ بواسطة نماذج او تقارير الاوراكل) يعمل علي الجهاز الثالث (جهاز العميل). ويمكن ان يتم كل هذا العمل في جهاز واحد لكن يجتاج الجهاز لمطلوبات محددة مثلا


الخدمة / التطبيق


الذاكرة المستهلكة اثناء التنفيذ


Oracle 11g Database


549 MB


Oracle 9i Database


140 MB


Oracle 10g Forms Builder


42 MB


Oracle 10g Reports Builder


80 MB


Oracle 10g Forms Runtime Web Launcher


12 MB


OC4J Service (JAVA)


36 MB


Mozilla Running Form


68 MB


Oracle 10g SQL*Plus


26 MB


المجموع


953 او 544 MB



اذا تحتاج الي ذاكرة 1 gb او حتي اكبر اذا كنت تريد ان تحصل علي اداء جيد


ايضا مطلوب منك ان تكون ملما باساسيات التعامل مع الاداة SQL*Plus وتعرف كيف تتصل بالقاعدة Connect وانشاء الجداول واداراج القيم وتعديل القيم بالجمل(INSERT, UPDATE, DELETE) بالاضافة الي الاستعلام من الجدول بالجملة SELECT


تعتمد هذه الدورة علي بعض الجداول الموجودة في مخطط الطالب Student’s Schema استخدم الاداة SQL*Plus لانشاء الجداول EMPLOYEE, DEPARTMENT, DEPENDENT بالخصائص التي سنذكرها لاحقا.


ملاحظة: ظهر هذا المخطط اول مرة في كتاب مبادي نظم قواعد البيانات لرامز المصري وشامكانت نافاثين




EMPLOYEE Table

Attribute


Data Type



FNAME
VARCHAR(8)
MINIT
VARCHAR(2)
LNAME
VARCHAR(8)
SSN
NUMBER(12)
BDATE
DATE
ADDRESS
VARCHAR(30)
SEX
VARCHAR(1)
SALARY
NUMBER(7)
SUPERSSN
NUMBER(12)
DNO
NUMBER(2)
DEPARTMENT Table

Attribute


Data Type



DNAME
VARCHAR(15)
DNUMBER
NUMBER(2)
MGRSSN
NUMBER(12)
MGRSTARTDATE
DATE

DEPENDENT Table

Attribute


Data Type



ESSN
NUMBER(12)
DEPENDENT_NAME
VARCHAR(10)
SEX
VARCHAR(1)
BDATE
DATE
RELATIONSHIP
VARCHAR(10)

يمكنك استخدام الشفرة التالية لبناء الجداول وادراج بعض القيم بها


اولا نقوم بانشاء مستخدم جديد



Sql> create user sadigtut identified by sadigtut;


ثانيا نمنح المستخدم صلاحيات (في الحقيقة هي ادوار) الاتصال بالقاعدة والمصادر


[/right]
[/right]

sql> grant connect,resource to sadigtut;


ثالثا : نتصل بالقاعدة عن طريق الحساب الذي انشاناه


SQL> conn sadigtut/sadigtut;



رابعا نبدأ في انشاء الجداول


CREATE TABLE employee
(FNAME VARCHAR2(15),
MINIT VARCHAR2(2),
LNAME VARCHAR2(15),
SSN NUMBER(12) NOT NULL,
BDATE DATE,
ADDRESS VARCHAR2(35),
SEX VARCHAR2(1),
SALARY NUMBER(7) NOT NULL,
SUPERSSN NUMBER(12),
DNO NUMBER(2) NOT NULL) ;

ALTER TABLE employee ADD CONSTRAINT pk_employee
PRIMARY KEY (ssn);

CREATE TABLE DEPARTMENT
(DNAME VARCHAR2(15),
DNUMBER NUMBER(2) NOT NULL,
MGRSSN NUMBER(12),
MGRSTARTDATE DATE) ;

ALTER TABLE department ADD CONSTRAINT pk_department
PRIMARY KEY (dnumber);

CREATE TABLE DEPENDENT
(ESSN NUMBER(12),
DEPENDENT_NAME VARCHAR2(15),
SEX VARCHAR2(1),
BDATE DATE,
RELATIONSHIP VARCHAR2(12)) ;

ALTER TABLE dependent ADD CONSTRAINT pk_dependent
PRIMARY KEY (essn, dependent_name);

ALTER TABLE dependent ADD CONSTRAINT fk_employee
FOREIGN KEY (essn) REFERENCES employee (ssn);

ALTER TABLE employee ADD CONSTRAINT fk_department
FOREIGN KEY (dno) REFERENCES department (dnumber);


خامسا نقوم بادخال بعض القيم لهذه الجداول


INSERT INTO DEPARTMENT VALUES ('RESEARCH', 5, 333445555,'22-MAY-1978') ;
INSERT INTO DEPARTMENT VALUES ('ADMINISTRATION', 4, 987654321, '01-JAN-1985') ;
INSERT INTO DEPARTMENT VALUES ('HEADQUARTERS', 1, 888665555,'19-JUN-1971') ;
INSERT INTO EMPLOYEE VALUES('JOHN','B','SMITH',123456789,'09-JAN-1955','731 FONDREN, HOUSTON, TX', 'M',30000,333445555,5) ;
INSERT INTO EMPLOYEE VALUES('FRANKLIN','T','WONG',333445555,'08-DEC-1945',
'638 VOSS,HOUSTON TX', 'M',40000,888665555,5) ;
INSERT INTO EMPLOYEE VALUES('ALICIA','J','ZELAYA',999887777,'19-JUL-1958','3321 CASTLE, SPRING,TX', 'F',25000,987654321,4) ;
INSERT INTO EMPLOYEE VALUES('JENNIFER','S','WALLACE',987654321,'20-JUN-1931','291 BERRY, BELLAIRE, TX', 'F',43000,888665555,4) ;
INSERT INTO EMPLOYEE VALUES('RAMESH','K','NARAYAN',666884444,'15-SEP-1952','975 FIRE OAK, HUMBLE, TX', 'M',38000,333445555,5) ;
INSERT INTO EMPLOYEE VALUES('JOYCE','A','ENGLISH',453453453,'31-JUL-1962','5631 RICE, HOUSTON, TX', 'F',25000,333445555,5);
INSERT INTO EMPLOYEE VALUES('AHMAD','V','JABBAR',987987987,'29-MAR-1959','980 DALLAS, HOUSTON, TX', 'M',25000,987654321,4) ;
INSERT INTO EMPLOYEE VALUES ('JAMES','E','BORG',888665555,'10-NOV-1927', '450 STONE, HOUSTON, TX', 'M',55000,NULL,1) ;
INSERT INTO DEPENDENT VALUES (333445555,'ALICE','F','05-APR-1976','DAUGHTER') ;
INSERT INTO DEPENDENT VALUES (333445555,'THEODORE','M','25-OCT-1973','SON') ;
INSERT INTO DEPENDENT VALUES (333445555,'JOY','F','03-MAY-1948','SPOUSE');
INSERT INTO DEPENDENT VALUES (123456789,'MICHAEL','M','01-JAN-1978','SON');
INSERT INTO DEPENDENT VALUES (123456789,'ALICE','F','31-DEC-1978','DAUGHTER');
INSERT INTO DEPENDENT VALUES (123456789,'ELIZABETH','F','05-MAY-1957','SPOUSE');
INSERT INTO DEPENDENT VALUES (987654321,'ABNER','M','26-FEB-1932','SPOUSE');


سادسا نقوم بتاكيد هذه الادخالات حتي تحفظ في القاعدة والا فان باني النماذج والتقارير لن يستطيع رؤية هذه البيانات. لكن اذا اردت الخروج من الاداة SQL*Plus فستقوم هي بالحفظ تلقائيا


SQL> COMMIT;


والان اذا قمت بامر استعلام Select * from tab; يجب ان تكون النتيجة كاتالي:-
131390971551.jpg
الان حتي نتاكد من اننا قمنا بادخال كل القيم سنستخد جمل الاستعلام
النتيجة
الجملة
3
SQL> select count(*) from DEPARTMENT;
7
SQL> select count(*) from DEPENDENT;
8
SQL> select count(*) from EMPLOYEE;


اذا لم تكن النتيجة عندك كما موضح بالجدول فهذا يعني ان عليك مراجعة القيم التي ادخلتها وان كان الامر ليس ضروريا.
3.أدوات حزمة مطور الاوراكل 10G
يجوي مطور الاوراكل 10g الادوات الرئيسة التالية:

  1. مطور النماذج Forms لتصميم نماذج ادخال البيانات
  2. مطور التقارير Reports لتصميم التقارير
  3. مطور الجافا JDeveloper لتطوير تطبيقات الجافا (خارج نطاق التمارين)
  4. باني المخازن Warehouse والمستكشف Discoverer هي ادوات OLAP لانشاء مخازن البيانات Warehouse وواجهات المستخدم لـ OLAP (خارج نطاق التمارين)
  5. مصمم الاوراكل Designer هي اداة اوراكل لـCASE التي تتضمن قدرات تعديل وتوليد الكود (خارج نطاق التمارين)


اذا في هذه الدورة سنغطي البندين الاولين باني النماذج وباني التقارير
1.3 تشغيل المطور في بيئة الوندوز
لتشغيل باني النماذج من Start-> All Programs -> Oracle Developer Suite - DevSuiteHome1 -> Forms Developer -> Form Builder
لتشغيل باني التقارير من Start-> All Programs -> Oracle Developer Suite - DevSuiteHome1 -> Reports Developer -> Report Builder
ملحوظة بالنسبة للاخوة الذين يستخدمون نظام Linux يمكنهم تشغيل السكربت f90desm.sh لباني النماذج و rwbuilder.sh لباني التقارير
4.الشاشة الرئيسة لباني نماذج الاوراكل 10g
1313909715852.jpg
تسمي هذه الشاشة مستعرض الكائنات Object Navigator وتعرض كل عناصر النموذج: بلوكات البيانات Data blocks القوائم Menu items مكتبات المستخدم والمكتبات الجاهزة كائنات فاعدة البيانات (الجداول Tables والمناظر Views) وعموما الضغط علي + يوسع لنا شجرة العرض و – يطويها مرة اخري

رابط هذا التعليق
شارك

محتويات مستعرض الكائنات هي :-

  1. النماذج Forms يحوي كائنات النموذج زكل كائناته الفرعية كبلوكات البيانات والقوادح Triggers والمنيهات Alerts والكانفاسات Canvases ووحدات البرامج (الاجراءات والدوال) Program Units (Procedure and Functions) ، كما هناك الوسائط Parameters والنوافذ Windows. ويمكن فتح اكثر من نموذج في المرة الواحدة
  2. القوائم Menus يحوي كائنات القوائم وكائناتها القرعية كعناصر القائمة والوسائط ووحدات البرنامج. كم يمكن فتح اكثر من قائمة.
  3. مكتبات PL/SQL: تحوي شفرات PL/SQL سواء كانت مخزنة في القاعدة او في ملفات .plb ويمكن ان تتم مشاركة المكتبات من قبل اكثر من نموذج ومن قبل اكثر من مطور
  4. مكتبات الكائنات Object Libararies : تحوي تجميعة من الكائنات Collection (اي شيء يمكن ان يظهر علي النموذج)
  5. الوحدات المدمجة Build-in Packages : لائحة بكل الحزم (اجراءات PL/SQL) والمتاحة افتراضيا لكل النماذج والتقارير
  6. كائنات قاعدة البيانات Database Objects: لائحة بكل كائنات قاعدة البيانات (الجداول والمناظر ومكتبات PL/SQL ووحدات البرامج) والموجودة في مخطط قاعدة البيانات للمستخدم


عندما ينشأ الكائن فانه سيعرض تحت القسم المناسب. كما يمكن ان تظهر قائمة سياقية منبثقة لكل كائن عند الضغط عليه بالزر الايمن للماوس
2.4 الاتصال بقاعدة البيانات
بعد فتح المطور يظهر صندوق حوار المعالج نحتر Cancel
اول خطوة للعمل في المطور هي انشاء اتصال بقاعدة البيانات. ويتم ذلك من قائمة File نختر Connect او نضغط علي الايقونة 1313909715633.png
واكتب الاسم وكلمة السر وقاعدة البيانات ولو تذكرون فان كلمة السر كانت sadigtut ايضا
131390971524.png
بعدها نضغط علي الزر Connect. اذا كان اسم المستخدم او كلمة السر او قاعدة البيانات ليس صحيحا فان الصندوق سيظهر لك مرة اخري
5 مصمم النماذج
قاعدة البيانات القياسية تحوي دستة من الجداول التي تحوي بدورها العديد من الاعمدة ذات البيانات مختلفة الانواع. ونحن نقوم بتطوير النماذج والتقارير حتي يصبح التعامل مع هذه الجداول اسهل للمستخدم. بحيث يتعامل النموذج كنافذة لقاعدة البيانات
وافتراضيا فان في مقدور النموذج ان يطلب البيانات من الجداول وان يقوم بالتعديل عليها باضافة سجل جديد الي الجدول. ويبني النموذج من بلوك بيانات او اكثر ويرتبط هذا البلوك بجدول او منظر في قاعدة البيانات. والحقول في بلوك البيانات ترتبط بعمود في الجدول في قاعدة البيانات.
1313909715855.png
هذا النموذج يتكون من بلوكي بيانات واحد لجدول Employee والثاني لجدول Dependent. وقد تم ترتيب هذين البلوكين في شكل رئيسي / فرعي حيث يرتبط سجل موظف واحدة (رئيسي) بعدة سجلات من الذين يعتمدون عليه Dependent (تفاصيل).
يقدم النموذج ايضا شريط قوائم Menu Bar وشريط ازرار Button Bar ويمكن استخدامهما للتنقل عبر السجلات في الكتلة وللتنقل بين البلوكات. وايضا لاجراء الايتعلامات في الجدول كادخال وتحديث وحذف السجلات ومسح النموذج بالاضافة الي الخروج. وهناك في اسفل كل نموذج شريط حالة Status Bar ليعرض التوجيهات ورسائل الاخطاء كما يحدد السجل الحالي في البلوك.
نكتفي اليوم بهذه الحصيلة علي ان نواصل عدا ونتحدث عن انواع البلوكات
كما ابدي استعدادي لمعاونة اي اخ علي انجاز هذه الخطوات او حتي لدراسة الاسس النظرية التي قام عليها العمل
كل ما ارجوه من الاخوة هو الدعاء

رابط هذا التعليق
شارك

يبدو ان الاخوة في الاعتكاف هذه الايام ولايدخلون المنتدي فلم احصل الا علي دعوة واحدة. عموما اكملت اعداد جزء جيد عن انشاء بلوك بيانات وحيد single data block وساقوم برفعه غدا او يوم السبت علي الاكثر ان شاء الله
:rolleyes:

رابط هذا التعليق
شارك

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

شكرا لك أخي الفاضل على هذا الجهد وهذا العطاء ... ورغبتك وحبك فى نشر العلم وتعلمه

استمر وستجد الكثير من المتابعيين لسلسلة الدروس القيمة والمفيدة

اللهم تقبل منا ومنكم الصيام والقيام وصالح الأعمال فى هذه الأيام المباركة

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

رابط هذا التعليق
شارك

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

تم تعديل بواسطة scince
رابط هذا التعليق
شارك

توجد اربع انواع رئيسة يمكن للنموذج ان يظهر بها
بلوك واحد Single Block يحوي بلوك بيانات واحد مرتبط بجدول واحد في قاعدة البيانات
بلوك واحد مع حقل بحث: يحوي بيانات من بلوك واحد مرتبطة بجدول واحد بالاضافة الي حقل او اكثر يعرض بيانات من جدول او جداول اخري كلائحة للبحث فيها
http://im9.gulfup.com/2011-08-26/1314343004121.gif
بلوك واحد. يحوي بيانات من جدول واحد
http://im9.gulfup.com/2011-08-26/1314343004662.gif
رئيسي / تفاصيل مع حقول بحث: يشبه نموذج رئيسي تفاصيل لكنه يضاف اليه حقل بحث في القسم الرئيسي و/أو في قسم التفاصيل
http://im9.gulfup.com/2011-08-26/1314343004923.gif
رئيسي / تفاصيل يجوي بلوكي بيانات تربط بينهما علاقة واحد لمتعدد
http://im9.gulfup.com/2011-08-26/1314343004494.gif


هناك المزيد من التوليفات مثل رئيسي / تفاصيل / تفاصيل بثلاث بلوكات وهكذا. لكن الاشهر والاكثر استعمالا هي هذه الاربع وهي التي سنتناولها في هذه الدورة
6.انشاء وتشغيل نموذج احادي البلوك
عموما بلوك البيانات في النموذج يرتبط بجدول في قاعدة البيانات. وهو ما يسمي بلوك جدولي الاساس Base Table او معتمد علي جدول. ويتم انشاء بلوك لكل جدول يعرض علي النموذج. في هذا المثال سننشيء بلوك واحد لجدول EMPLOYEE
يظهر البلوك علي الكانفاس Canvas الذي يحتوي بدوره في نافذة Window. وتوجد عدة طرق للتحكم في ظهور اكثر الكانفاس واكثر من نافذة في النموذج. لكن في هذا المثال سنعمل علي التعامل مع كانفاس واحد علي نافذة واحدة.
ايضا توجد اكثر من طريقة لانشاء بلوك البيانات. احداهما بالطريقة اليدوية حيث نعرف الجدول الاساسي والاعمدة ونحدد مواضعها علي النموذج وهذا امر شاق وان كنا نحتاج له احيانا. لذا قدمت لنا اوراكل معالجان Wizard لانشاء بلوكات البيانات
1.معالج كتلة البيانات Data Block Wizard يقودك عبر خطوات محددة لاختيار جدول من قاعدة البيانات وتحديد الاعمدة
2.معالج التخطيط Layout wizard يقودك عبر خطوات لتختر الطريقة التي تريد بها تنظيم هذه الاعمدة لتظهر علي النموذج
1.6 انشاء بلوك جديد
من قائمة ادوات Tools اختر Data block wizard سيظهر الصندوق التالي
http://im9.gulfup.com/2011-08-26/1314343004815.jpg
اضغط علي الزر Next ستظهر النافذة التالية
http://im9.gulfup.com/2011-08-26/1314343004686.jpg
من هنا نحدد نوع بلوك البيانات هل يعتمد علي جدوا او منظر Table or view ام يعتمد علي اجراء مخزن (اي كتبناه في SQL*PLUS مثلا) Stored Procedure ونحن سنختار Table/View ثم نضغط Next لتظهر الشاشة ادناه وهي التي تمكننا من تحديد الجدول الذي نريده
http://im9.gulfup.com/2011-08-26/1314343004897.jpg
نضغط علي Browse… لاختيار الجدول اذا لم تكن متصلا فسييسألك ان تتصل يمكن ان تكتب له sadigtut كاسم للمستخدم وكلمة سر وorcl كاسم لسلسلة الاتصال وتضعط connect اما اذا كنت متصلا فستظهر لك الشاشة التالية
http://im9.gulfup.com/2011-08-26/1314343004948.jpg
تأكد من اختيار المربعين Current User Table ستظهر عندها الجداول اذا لم تظهر الجداول فتاكد من انك قد انشأتها اولا واذا كان محرر SQL*PLUS ما زال مفتوحا تاكد من انك بعد انشاء الجداول قد نفذت الامر Commit.
اختر الجدول Employee واضغط الزر OK سيظهر لنا المعالج ومعه اسم الجدول المحدد والاعمدة المتاحة available columns ولاضافة عمود للقاعدة قم بتحديد اسمه من ثم اضغط علي الزر ذو السهم المتجه للايمن عندها ينتقل اسم العمود الي العمود الايمن المسمي Database Item سنقوم باختيار الاعمدة التالية FNAME, LNAME, SSN, BDATE, SALARY, DNO
http://im9.gulfup.com/2011-08-26/1314343004948.jpg
نضغط علي زر التالي Next سيظهر صندوق حوار يمكننا من اختيار اسم للبلوك وليكن EMPLOYEE بنفس اسم الجدول
http://im9.gulfup.com/2011-08-26/1314343004499.jpg
الان نضغط علي زر التالي Next
عندها سيظهر صندوق حوار معالج التخطيط يهنأنا باننا قد اكملنا بناء بلوك البيانات وبحيرنا بين ان نبدأ معالج التخطيط Create the block, then call the Layout wizard او اننا اصبحنا بالاحترافية اللازمة ولانريد من الاوراكل مساعدة وسنقوم بالامر يدويا Just create the data block طبعا نحن لسنا كذلك لذا نتاكد من اننا اخترنا الخيار الاول ثم نضغط انهاء Finish
http://im9.gulfup.com/2011-08-26/13143430041210.jpg

رابط هذا التعليق
شارك

انشانا المرة السابقة بلوك البيانات ونريد الان انشاء مخطط له بعد ضغط زر انهاء في الشاشة السابقة سيظهر صندوق الحوار التالي
1314343287341.jpg
نضغط علي زر التالي Next
هذا الصندوق يخيرنا بين ان ننشيء كانفاس جديد Canvas او ان نستخدم كانفاس موجود وبما ان هذا اول كانفاس ننشئه فلن تجد غير الخيار الاول. ثم في صندوق Type نحدد نوع الكانفاس (قد نناقشه لاحقا) وسنختار نحن الخيار content ونضغط زر التالي ليظهر صندوق الحوار التالي:
1314343287823.png
سنلاحظ ان صندوق الحوار يحوي في الجانب الايسر Available Item كل الحقول المتاحة والتي اخترناها في معالج انشاء بلوك البيانات. هذه المرة سنختار كل الحقول مما يعني الضغط علي السهمين المتجهين لليمين والمحددان في الصورة اعلاه باللون الاحمر ثم نضغط زر التالي
1314343287664.png
نري ان الجدول هنا مقسم لاربع اعمدة العمود الاول Name به اسم الحقل كما موجود بالجدول والعمود الثاني Prompt به اسم الملصق الذي سيظهر بجانب الحقل علي النموذج وقد قمنا باجراء بعض التغييرات عليه كما تلاحظون. والعمود الثالث Width به عرض هذه الحقول علي النموذج (ليس له دخل بكمية البيانات التي يستطيع الحقل احتوائها) وقد عيرنا ايضا في قيمه قليلا والعمود الرابع Height يحدد ارتفاع الحقل.
بعد الانتهاء من التغييرات نقوم بالضغط علي زر التالي. لتظهر لنا شاشة تمكننا من تحديد شكل النموذج.

رابط هذا التعليق
شارك

هناك شكلان يمكن للنموذج ان ياخذهما Tabular اي جدولي حيث توضع ملصقات النموذج في الاعلي وعدد من السجلات اسفلها والشكل الثاني Form يضع الملصق الي يسار الحقل او يمينه اذا كانت اعدادات النموذج علي الاتجاه من اليمين لليسار (سنعرفها لاحقا ان شاء الله). وهي التي سنختارها لهذا المثال.
نضغط زر التالي
1314345330802.jpg
سنسمي الاطار Frame title بالاسم Employee وسنختار عدد السجلات التي ستعرض 1 Record Displayed ثم سنتأكد من اختيار Display Scrollbar بعدها نضغط علي زر التالي يظهر صندوق الحوار الاخير ليهنأنا علي نجاحنا فنضغط زر انهاء Finish
ستنشأ كانفاس جديدة مع بلوك البيانات الجديد وتوضع عليها كل العناصر التي اضفناها في معالج المخطط
وفي هذه اللحظة بالذات سيظهر محرر المخطط Layout Editor وسيظهر نموذج جديد
2.6 محرر المخطط
حتي تري النموذج الفعلي ببلوكاته وحقوله. من قائمة Tools اختر Layout Editor (هذا ان لم تظهر بالفعل)
1314345522613.png
لإي محرر المخطط بامكاننا تغيير مواضع الحقول والملصقات بالضغط عليها والسحب. كما يمكن اضافة المزيد من صناديق النصوص والخطزط و الخ، اذا استخدمنا شريط الادوات الموجود الي يسار النافذة.

رابط هذا التعليق
شارك

العمليات الاكثر استخداما علي المحرر تتضمن

  • نقل الحقل او ملصق الحقل عبر الضغط عليه ثم سحبه
  • تغيير اسم الملصق بالنقر علي الايقونة 1314343287955.gif من شريط الادواتثم تضغط علي الملصق. وللخروج من تحرير الملصق اضغط في اي مكان اخر
  • اضافة نص للبلوك باختيار الاداة 1314343287955.gif من شريط الادوات ثم تضغط في مساحة خالية وتكتب النص الجديد.
  • لتغيير نوع الخط ظلل النص ومن قائمة Format اختر Font
  • لتغيير لون الخط في الملصق استخدم الاداة 1314343287776.gif لتظليل الملصق ثم اضغط علي زر لوحة لون النص 131434328737.gif لتختار لون النص الذي تريده
  • لتغيير عرض الحقل اضغط عليه ثم اسحب من المقابض السوداء التي تظهر علي اطرافه. فقد نحتاج لتوسيع ملصق الضمان الاجتماعي واسم الاب وغيره
  • يمكنك استخدام الاداة 1314343287388.gif لتكبير النموذج والاداة ذات علامة - لتصغيره


والي اللقاء في الحلقة القادمة مع خصائص العرض

رابط هذا التعليق
شارك

خصائص العرض
عندما نضغط علي كائن في محرر المخطط نقرة مزدوجة ستظهر نافذة الخصائص. Properties او يمكن اظهارها بالنقر بالزر الايمن علي العنصر ومن ثم نختار properties palette .
لكل نوع من العناصر مجموعة الخصائص المميزة له. فلو نقرنا مزدوجا علي بلوك البيانات Employee من متصفح الكائنات Object Navigator سنجد الخصائص التالية
WHERE Clause تحدد جملة الاستعلام لتنقية (فلترة) اختيار الاعمدة من الجدول بقاعدة البيانات
ORDER BY Clause تحدد الجملة العمود الذي سترتب البيانات علي اساسه
Delete Allowed, Insert Allowed, Query Allowed and Update Allowed تغيير هذه الخصائص لعكس المفعول مثلا ضبط Delete Allowed علي القيمة False يقي المستخدم من حذف السجلات من الجدول في قاعدة البيانات باستخدام النموذج.
هناك العديد من الخصائص تتحكم في الخطوط والالوان والحجم وموضع الكائنات في البلوك.
4.6 حفظ وترجمة وتنفيذ النماذج
يمكن ان نحفظ النموذج كملف في المسار الذي نريده. وسيحفظ النموذج كملف مصدري بالامتداد .fmb بينما الملف المترجم سيحفظ بالامتداد .fmx ساقوم انا بانشاء مسار خاص بملفات هذا التمرين
اذهب لقائمة Start اختر Run او اضغط علي الزر windows logo ومعه الزر R
اكتب في الصندوق الذي يظهر لك cmd واضغط علي OK
تظهر نافذة الدوس نكتب الامر cd\ ونضغط Enter
الان نكتب mkdir sadigdoc ونضغط Enter لانشاء المجلد
الان نكتب cd sadigdoc ونضغط ونضغط Enter للدخول الي المجلد
1314343572523.png
تاكدنا الان اننا انشاءنا المجلد نغلق نافذة الدوس
نعود الان الي مطور النماذج لحفظ النموذج من قائمة File نختار Save ونحدد المسار من save in ليصبح sadigdoc الموجود في c وفي اسم الملف File name نكتب الاسم الذي نريده وليكن employee ثم نضغط زر Save
لايفضل استخدام مسافة في اسم النموذج
2.4.6 ترجمة وبناء النماذج
قبل ان يشتغل النموذج يجب ان يترجم ويبني. الترجمة تشغل مترجم PL/SQL لكل الاجراءات والقوادح الموجودة في النموذج. البناء سيكون ملف .fmx الذي يستخدم لتشغيل النموذج. وحتي نقوم بترجمة النموذج تاكد اولا انك قد حفظته ثم من قائمة Program اختر Compile Module. اذا وجدت في النموذج اخطاء (مثلا في اكواد PL/SQL او حدث تغير في مخطط قاعدة البيانات) سيظهر لك في نافذة وسينم حفظ سجل باخطاء النموذج بالامتداد .err فمثلا لو كان اسم النموذج employee سيكون ملف الاخطاء اسمه employee.err.
يقوم اوراكل بترجمة النموذج تلقائيا في كل مرة تقوم بتنفيذه بالامر Run
3.4.6 تشغيل النموذج
تقدم اوراكل منتجاتها لتدعم مفهوم الطبقات الثلاث. قاعدة البيانات هي الطبقة الاخيرة برنامج اوراكل الحاوي للجافا OC4J طبقة ثانية ومتصفح النت (سواء موزيلا او انترنت اكسبلورر) يعمل كواجهة مستخدم. ولتشغيل النموذج لابد من تشغيل OC4J اولا بالخطوات التالية
Programs -> Oracle Developer Suite - DevSuiteHome1 -> Forms Developer -> Start IC4J Instance
سيظهر محث الاوامر الذي يبدو كالتالي
1314343573815.png
يعمل OC4J افتراضيا علي البورت 8888 مما قد يتضارب مع خدمة اخري او اذا كان حائط النار يعمل علي نفذ المنفذ فقد تحتاج لبعض التعديلات
اذا استقبلت رسالة خطأ اثناء تشغيل OC4J فقد يعني هذا ان هناك مثيل اخر من خدمة OC4J يعمل علي الحاسب يمكن ببساطة ان تعيد تشغيل الجهاز.
الان تستطيع تنفيذ النموذج من Program نختار Run Form ستم فتح المتصفح الافتراضي عندك وهو موزيلا في جهازي سيقوم برنامج JInitiator بتحميل النموذج الي المتصفح. اذا ظهرت لك رسالة تخبرك بخطا في اسم المستخدم فما عليك سوي ادخاله مرة اخري
1314343573277.png
سيظهر لك النموذح خالي من المعلومات بالطبع لكن قم بالضغط علي الزر 1314343573328.png او من قائمة استعلام اختر تنفيذ. اعلم ان هناك الكثير من العمل علي هذا النموذج لكن لاتقلق ما الجبل الا حصاة علي حصاة وسنتطرق لها ان شاء الله
ملاحظة: اذا لم تشغل OC4J فلن يعمل النموذج وقد تظهر لك رسالة الخطأ بالرقم FRM-10142. ولا تقم باغلاق نافذة Start OC4J Instance ابدا لكن يمكن ان تنزل النافذة. ايضا اذا لم تقم بتنزيل برنامج JInitator او لم تقم يتنزيل النسخة الملائمة فستظهر لك رسالة خطأ ايضا
استودعكم الله مع باقي الدروس بعد عيد الفطر وكل عام وانتم بخي
ملحوظة اذا كان لاي اخ سؤال فيمكنه ان يسال وساكون حاضرا للاجابة

رابط هذا التعليق
شارك

اشكر كل من رد علي الموضوع ومن دعا لي فاللهم اعطه مثل ما دعا لي وله مثله.
واشكر المهندس ميهال الذي سمعت الكثير عنه من المهندس الضي الفكي الذي كان يعمل معك في اليمن
الله اغفر لنا جميعا وتقبل صيامنا وقيامنا واخلص نياتنا واغسل قلوبنا وخذنا اليك اخذ الكرام عليك

رابط هذا التعليق
شارك


اشكر كل من رد علي الموضوع ومن دعا لي فاللهم اعطه مثل ما دعا لي وله مثله.
واشكر المهندس ميهال الذي سمعت الكثير عنه من المهندس الضي الفكي الذي كان يعمل معك في اليمن
الله اغفر لنا ميعا وتقبل صيامنا وقيامن واخلص نياتنا واغسل قلوبنا وخذنا اليك اخذ الكرام عليك

شكراً لك اخي الكريم على كلامك الطيب عني ممكن تقولي من المهندس الطيب الذي ذكرنا عندك بالخير جزاه الله خير
رابط هذا التعليق
شارك

الاخ ميهال
الضي الفكي مهندس سوداني كان يشرف علي مشروع طريق في اليمن لااذكر اسمه واظن انكم كنتم معه وقد كان يذكرك ويذكر اسهاماتك في منتدي المهندسين العرب ان لم تخني الذاكرة

رابط هذا التعليق
شارك

4.4.6 الاستعلام بالمثال Query by example

كما قلنا عند تشغيل النموذج لاول مرة فان القيم لن تظهر. ويمكن ان يقوم المستخدم بادخال قيم جديدة مباشرة. لكن قد يحتاج احيانا لمعرفة القيم الموجودة مسبقا لذا عليه ان يستعلم قاعدة البيانات وهي خاصية متوفرة في اي نموذج اوراكل وستجلب لك نسخة من السجلات الموجودة في الجدول علي قاعدة البيانات. مستخدما تقنية QBE.

استعلام النموذج في الاوراكل هي عملية من خطوتين. الضغط اولا علي زر الاستعلام او اختيار Enter Query من قائمة Query او حتي F11 لتحويل النموذج لنمط ادخال الاستعلام. وهكذا يمكن للمستخدم ان يتنقل في الحقول السابقة. وبالضغط علي زر الاستعلام مرة اخرة او اختيار Execute Query من قائمة Query بالطبع J او Ctrl+F11 (بعد ان تكون قد ادخلت معيارا في حقل مثلا تريد معرفة الموظفين في الشعبة 5 ما عليك الا ان تكتب 5 في الحقل DNO) نقوم بتنفيذ الاستعلام. عندها نكون قد ارسلنا الاستعلام التالي الي قاعدة البيانات

SELECT fname, lname, ssn, bdate, salary, dno

FROM employee

WHERE dno = 5;

ملحوظة:

لمعرفة مفاتيح الاختصار المتوفرة عندك من قائمة تعليمات Help اختر مفاتيح Key

عندمت نستعلم فاننا نقوم بجلب المعلومات من قاعدة البيانات الي الذاكرة الموقتة Buffer لكتلة البيانات المرتبطة بها في النموذج.

يمكنك حفظ التغييرات بالاضافة الي السجلات الجديدة في النموذج من قائمة اجراء Action اختر حفظ Save. اي سجل غير سيتم ارساله الي قاعدة البيانات بجملة UPDATE بينما سترسل السجلات الجديدة بجملة INSERT اذا حدث اي فشل اثناء تنفيذ اي من هذه الجمل فيمكن القيام باسترجاع Rolled back.

اذا قرر المستخدم الخروج من النموذج من دون ان يحفظ التغييرات فسيتم اعلامه لتاكيد التغييرات commit قبل ان يخرج. او الغاءها من مسحClear Block من قائمة قطعة Block او مسح الكل Clear Form من قائمة اجراء Action

للخروج من نموذج يعمل من قائمة اجراء Action اختر خروج Exit.

تحذير: لاتقم فقط باغلاق المتصفح فهذا سيجعل تطبيق الجافا JAVA Applet مما قد يؤدي الي اغلاق نموذجك (.fmx)

5.6 تمرين: انشاء نموذج احادي البلوك

كون نموذج بسيط لجدول DEPARTMENT بالمواصفات التالية:

· اختر واعرض كل الاعمدة في جدول DEPARTMENT

· في معالج المخطط Layout wizard استخدم طريقة العرض جدولي Tabular واعرض 5 سجلات في النموذج مع اضافة شريط التمرير scrollbar

· في محرر المخطط Layout Editor اجعل حقل DNAME اوسع قليلا ليتسع لاسماء الادارات الطويلة

· غير خصائص بلوك DEPARTMENT بحيث ترتب البيانات ORDER BY وفق الحقل DNAME

· احفظ النموذج تحت الاسم depart.fmb

يجب ان يبدو النموذج الناتج بالشكل
1315316812411.png

رابط هذا التعليق
شارك

  • بعد 2 أسابيع...

 

 

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

7 انشاء نموذج رئيسي – تفاصيل

سنناقش هنا الخطوات الرئيسة لانشاء نموذج رئيسي/تفاصيل. ونموذج رئيسي / تفاصيل هو النوع من النماذج الذي يجوي بلوكي بيانات.

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

•    طلبات العملاء فيطلب عميل عدة عناصر

•    شعبة تحوي عدة موظفين

•    موظف يعول اكثر من فرد

•    شركة بها عدة فروع

•    مخزن وبه عدة اماكن للتخزين.

يمكن تنفيذ العلاقة رئيسي تفاصيل في باني النماذج باستخدام بلوكي بينات. يرتبط البلوك الاول بالجدول الرئيس ويرتبط البلوك الثاني بجدول التفاصيل. ولنموذج رئيسي تفاصيل وظيفتين رئيستين

•    يناظر باني النماذج القيم بين البلوكين عبر سلسلة من القوادح من مستوي النموذج والبلوك (قوادح علي مستوي النموذج واخري علي مستوي البلوك)

•    يضمن باني النماذج ان بلوك التفاصيل سيعرض فقط البيانات المرتبطة بالسجل الحالي في البلوك الرئيس

2.7 خطوات انشاء نموذج رئيسي – تفاصيل

سننشيء نموذج يتيح للمستخدم الاستعلام عن الموظفين في شعبة ما. ولربط الجدولين سنستخدم الجملة

EMPLOYEE.DNO = DEPARTMENT.DNUMBER

1316326274771.gif

1.2.7 انشاء البلوك الرئيس

انشي نموذج جديد من File اختر جديد New واختر Form ثم سنستخدم بعد ذلك نفس الخطوات التي اتبعناها في الجزء السابق جزء انشاء نموذج مفرد او احادي البلوك لانشاء نموذج للموظفين. لكن سننشيء بلوك للشعب DEPARTMENT يحوي كل حقول DEPARTMENT وباختصار

1-    من قائمة Tools اختر Data Block Wizard ثم اختر التالي

2-    ابني البلوك اعتمادا علي الجدول والمنظر table/view واختر التالي

3-    من Browse  اختر جدول DEPARTMENT واذا لم يظهر فستظهر نافذة الاتصال واذكر كان اسم المستخدم هو sadigtut وكلمة المرور هي ايضا sadigtut بينما قاعدة البيانات عندي هي orcl

4-    اختر كل الحقول من ثم اكمل انشاء بلوك البيانات وانتقل الي معالج المخطط

5-    ضع بلوك بيانات الشعب في كانفاس جديدواضف كل الحقول للعرض

6-    اختر النوع Form لشكل العرض

7-    وليكن اسم الاطار "الشعبة" واهتر عرض سجل واحد

8-    احفظ العمل بالاسم deptemp.fmb من ثم قم بتشغيل النموذج لتتاكد انه يعمل علي افضل وجه وسيبدو الامر بالشكل التالي

1316326274592.png

9-    جرب الامر باستخدام الاستعلام بالمثال الذي شرحناه في اخر مشاركة وجرب معرفة الشعبة ذات الرقم 4 والشعبة التي في اسمها H عبر المعيار %H% او الشعب التي رقمها اكبر من 2 بالمعيار 2<

2.2.7 انشاء بلوك التفاصيل

لدينا الان البلوك الرئيس DEPARTMENT ويمكننا الان انشاء بلوك التفاصيل EMPLOYEE وربطه بالبلوك الرئيس. يمكن اتباع التالي:-

1.    عد لمتصفح الكائنات (من Tools اختر Object Navigator)

2.    اضغط علي النموذج DEPTEMP واحذر ان لا تختر بدله البلوك DEPARTMENT

1316326274893.png

3.    من قائمة Tools اختر Datablock Wizard

4.    اختر جدول EWMPLOYEE وضمن الحقول the FNAME, LNAME, SSN, BDATE, SALARY, ,DNO

1316326274134.png

رابط هذا التعليق
شارك

5. ولان هناك بلوك بيانات علي الاقل في النموذج فانه في الخطوة التالية سيطالبك بانشاء علاقة بين البلوك الموجود DEPARTMENT والبلوك الذي تريد انشاءه. سيقوم المعالج بانشاء هذه العلاقة بناء علي القيود والعلاقات التي انشاءتها عند انشاء قاعدة البيانات وبناء الجداول. كما يمكنك ان تحدد العلاقة يدويا وهو ما سنفوم به في هذه الحالة.
الغي اختيار الخيار Auto-join data blocks ثم اضعط زر انشاء علاقة Create Relationship ليعرض لك لائحة البلوكات المتاحة
1316326274435.jpg
6. نختار الخيار الاول Based on a join condition من ثم نضغط زر OK
7. سيظهر لنا بلوك واحد طبعا لانه كل ما نملك وهو DEPARTMENT اختره واضغط علي موافق من ثم رتب العلاقة ليكون الربط بالشكل EMPLOYEE.DNO = DEPARTMENT.DNUMBER
1316326274276.png
8. سم بلوك البيانات EMPLOYEE من ثم اكمل انشاءه وانتقل لمعالج المخطط
9. تاكد من انك تختار الكانفاس CANVAS4 وهو الكانفاس الذي انشاءنا عليه الكتلة السابقة كتلة الشعبة. واضف كل الحقول ما عدا الحقل DNO (سيظل حقل DNO جزء من بلوك EMPLOYEE لكن لن يظهر للمستخدم)
1316326274127.png
10. اختر نوع المخطط Tabular واعرض 5 حقول بمسافة بينية 0 ثم احفظ النموذج ونفذه لتري ان كان يعمل بالشكل الصحيح سيبدو النموذج بالشكل التالي
1316326274618.png
لاحظ مع اختيار شعبة جديدة في البلوك الرئيس ستتغير اسماء الموظفين في بلوك التفاصيل. وللتنقل بين بلوكين الرئيسي والتفاصيل نستخدم
a. للانتقال للبلوك التالي اضغط CTRL-PageDown او من قائمة Block اختر Next
b. للانتقال الي البلوك السابق اضغط CTRL-PageUp او من قائمة Block اختر Previous
والان نتوقف الي هنا والي اللقاء في الحلقة التالية</p>

رابط هذا التعليق
شارك

خصائص العلاقة لنموذج رئيسي تفاصيل
هناك عدة خصائص في نموذج رئيس - تفاصيل يمكن ان نغير فيها لتناسب السلوك الذي نريده. وللوصول اليه نفتح بلوك DEPARTMENT ونفتح العلاقة Relations المسماة DEPARTMENT_EMPLOYEE من ثم نضغط F4 لفتح لوحة الخصائص
1316326274429.png
هناك عدد من الخصائص المهمة.
• Name اسم العلاقة وتتكون من اسمي البلوكين
• Relation Type نوع العلاقة ارتباط Join او مرجع Ref العلاقة Join تستخدم SQL بالجملة Where. اما العلاقة Ref فتستخدم البيانات المجردة ومراجع الكائنات
• Detail Data Block اسم بلوك التفاصيل
• Join Condition شرط الربط بين البلوكين
• Delete Record Behavior التصرف عند حذف سجل في البلوك الرئيس وكسف سيؤثر علي سجلات التفاصيل وينقسم الي
o Non-isolated يحمي من حذف سجل من البلوك الرئيس اذا بيانات بلوك التفاصيل المرتبطة به موجودة في قاعدة البيانات
o Isolated حذف السجل الرئيس لن يؤثر في سجلات التفاصيل في قاعدة البيانات
o Cascading حذف السجل الرئيس سيحذف سجلات التفاصيل المرتيطة به مباشرة.
• Coordination – Deferred (مرجأ) يحدد متي سيستعلم عن سجلات التفاصيل عندما تستعلم السجل الرئيس
o Yes لن يستعلم النموذج عن سجلات التفاصيل حتي ينتقل المستخدم الي بلوك التفاصيل
o No تجلب سجلات التفاصيل مباشرة عندما يختار المستخدم السجل الرئيس
• Coordination – Auto-query ينفذ علي البيانات المرجئة فقط Deferred
o Yes ينفذ الاستعلام تلقائيا عندما ينتقل المستخدم لبلوك التفاصيل
o No يجب ان ينفذ الاستعلام يدويا بعد ان ينتقل المستخدم الي بلوك التفاصيل.
• Prevent Masterless operation يحدد اذا كان من حق المستخدم الاستعلام او ادراج سجلات في سجل التفاصيل اذا لم يوجد لها سجل رئيس مناظر
o Yes لن يستطيع المستخدم الاضافة او الاستعلام اذا لم يوجد سجل تفاصيل
o No يمكن للمستخدم الادراج والاستعلام حتي مع عدم وجود سجل رئيس
هذه الاعدادات تضبط اداء النموذج رئيسي – تفاصيل.
4.7 وحدات البرنامج في نموذج رئيس تفاصيل
عند انشاء نموذج رئيسي - تفاصيل ستنشأ ثلاث وحدات برنامج رئيسة
• CHECK_PACKAGE_FAILURE وهي اجراء يري اذا النموذج او جملة SQL نفذت بنجاح ام لا وهي
Procedure Check_Package_Failure IS
BEGIN
IF NOT (Form_Success) THEN
RAISE Form_Trigger_Failure;
END IF;
END;
QUERY_MASTER_DETAILS وينفذ عندما ينتقل المستخدم لبلوك التفاصيل
وهي تحوي التفاصيل التالية
PROCEDURE Query_Master_Details(rel_id Relation,detail CHAR) IS
oldmsg CHAR(2); -- Old Message Level Setting
reldef CHAR(5); -- Relation Deferred Setting
BEGIN
--
-- Initialize Local Variable(s)
--
reldef := Get_Relation_Property(rel_id, DEFERRED_COORDINATION);
oldmsg := :System.Message_Level;
--
-- If NOT Deferred, Goto detail and execute the query.
--
IF reldef = 'FALSE' THEN
Go_Block(detail);
Check_Package_Failure;
:System.Message_Level := '10';
Execute_Query;
:System.Message_Level := oldmsg;
ELSE
--
-- Relation is deferred, mark the detail block as un-coordinated
--
Set_Block_Property(detail, COORDINATION_STATUS, NON_COORDINATED);
END IF;

EXCEPTION
WHEN Form_Trigger_Failure THEN
:System.Message_Level := oldmsg;
RAISE;
END Query_Master_Details;
• اخيرا CLEAR_MASTER_DETAILS ينادي في كل مرة مع كل استدعاؤ لسجل رئيس
5.7 توسيع نماذج رئيس تفاصيل
يمكن توسيع نموذج رئيس تفاصيل باضافة مستويات من التفاصيل مثلا تحديد لائحة المستخدم بالتفاصيل التي في طلبات المستخدم. لكل طلب يوجد عدة عناصر. كتوسيع للمثال السابق نوسع المعولين DEPENDANTS لموظفين كتفاصيل لبلوك الموظفين
6.7 تمرين: انشاء نموذج تفاصيل
سنحاول انشاء نموذج رئيس تفاصيل للجدولين EMPLOYEE و DEPENDENTS سيكون EMPLOYEE هو الرئيس و DEPENDENTS هو بلوك التفاصيل. سيكون شرط الربط بين الجدولين عند تساوي SSN للموظفين مع ESSN في جدول المعولين DEPENDENT
1- انشيء بلوك بيانات الموظفين يجوي الحقول التالية FNAME, LNAME, SSN, ADDRESS , SEX واستخدم التخطيط Form واعرض سجلا واحدا
2- انشيء بلوك البيانات للتفاصيل من جدول DEPENDENT وضمن فيه كل الحقول ولانشاء العلاقة الغ اختيار Auto-Join Data Blocks واضغط انشاء Create Relationship وانشيء العلاقة لتكون بالشكل DEPENDENT.ESSN = EMPLOYEE.SSN
3- واعرض كل الحقول في معالج المخطط ماعدا ESSN واختر له النوع Tabular كنوع للمخطط واعرض 4 سجلات بمسافة بينية 0 بين كل سجل
4- احفظ النموذج بالاسم empdepn.fmb
يجب ان يبدو النموذج كاتالي
13163262752610.png

رابط هذا التعليق
شارك

مجهود رائع وفققك الله
عندما اقوم بتشغيل الشاشة تظهر لى هذه الرسالة

http://127.0.0.1:2299/zuej3B7Y5HfpRrGipLdvO9inpQ6t8ARKLCgeeAfLAfVlvj5i

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

رابط هذا التعليق
شارك


الاخ
abdo_osman

انتظر ان ترفع الصورة مرة اخري. فقد اتمكن من مساعدتك اما بقية الدروس فستنشر قريبا ان شاء الله

السلام عليكم ورحمة الله وبركاته
هى ليست صورة
انما هى العنوان الذى يظهر عندما اقوم بتشغيل اى فورم
ما هى الاعدادات المطلوبة والتى تجعل عندما اطلب تشغيل اى شاشة ان تعمل كما فى الاصدارات القديمة مثل 6

ولا تعطينى هذه الرسائل العجيبة
ولك جزيل الشكر
وعذرا مرة اخرى على التاخير
رابط هذا التعليق
شارك

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل



×
×
  • أضف...

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

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