miash80 بتاريخ: 1 ديسمبر 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 1 ديسمبر 2013 السلام عليكم ورحمة الله الأخ / موسى مرحبا بك مرة أخرى ... بعد طول غياب ... دائما متميز ومتألق كما عهدناك في مشاركاتك السابقة بالمنتديات الجميع ينتظر منك الكثير جزاك الله خيرا يالتأكيد ... سيتم تثبيت الموضوع وعليكم السلام ورحمة الله وبركاته مشكور اخي واستاذي امجد على هذا الكلام الطيب وشرف كبير مرورك وان شاء الله مستمر الى النهاية اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 1 ديسمبر 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 1 ديسمبر 2013 List of Value تعريفها هي عبارة عن قائمة اختيارات تظهر عن الدخول على حقل معين ((قائمة من القيم )) ولا ننسى علاقتها مع Record Groups Record Groups تعريفه هو عبارة عن وسيط LOV يكتب داخله جملة الــSelect الخاصة بقائمة الاختيارات ويمكن التعديل عليه . خطوات انشاء قائمة جديدة كالتالي . 1) Create Record Groupانشاء واحد جديد 2) Create LOV /Connect Record group انشاء قائمة جديدة مع ربطها مع Record Group 3) Connect LOVs with filed ربط القائمة مع حقل معين 4) Return Value. ارجاع القيم Lovs Type: 1. Staticيستخدم في الشغلات الثابتة في الحياة مثل ايام الاسبوع 2. Dynamicيستخدم في جملة الاستعلام ويأخذ كل شيئ جديد سنأخذ مثال على كل نوع . اريد انشاء قائمة جديدة من نوع Static تأخذ قيم لأسماء الاقسام باسماء انا احددها كالتالي . انشاء Record Group جديدة تخرج هذه الشاشة نختار الخيار الاول ثم Ok ثم تخرج هذه الشاشة هذه الشاشة نقوم بأدخال قيم قائمة الاختيارات كالتالي . اول نحدد حقل رقم القسم مع القيم الجديدة كالتالي قيم ارقام الاقسام جديدة (100,200,300) بدلا من (10,20,30) ثم نحدد حقل اسماء الاقسام مع القيم الجديدة كالتالي . قيم جديدة لاسماء الاقسام انا احددها . ثم نضغط OK وتصبح عندنا Record Group جديدة نعمل على اعادة تسميتها MY_REC_GRO اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 1 ديسمبر 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 1 ديسمبر 2013 (معدل) ثم نقوم بأنشاء LOVs جديدة للربطها مع الــ Record Group التي قمنا بأنشائها نذهب الى Object Navigator ونضغط عليها وتخرج لنا هذه الشاشة نختار الخيار الثاني الــ manually ثم OK تم انشاء قائمة جديدة نعمل على اعادة تسميتها MY_LOV كالتالي نذهب الى خصائص القائمة عن طريق F4 الى خاصية Record Group ونحدد الـ Record Group الذي نريد ربطه على هذه القائمة كالتالي ونذهب الى خاصية Column Mapping Properties لنحدد كل حقل في القائمة لأي حقل يعود على الفورم من خلال Browse كالتالي ثم نضغط على OK تم انشاء القائمة وربطها مع الــ Record Group طريقة استدعاء القائمة في الفورم كالتالي . نعمل تنفيذ للفورم ثم نقوم بالدخول على حقل رقم القسم واستدعاء القائمة عن طريق F9 والنتيجة كالتالي خرج لنا رسالة ان لا يوجد قائمة تابعة للهذا الحقل للذا يجب تحديد هذه القائمة للهذا الحقل عن طريق الذهاب الى خصائص الحقل التالية نقوم بتحديد القائمة التابعة للهذا الحقل كالتالي ثم نرجع نعمل تنفيذ للفورم من جديد ونستدعي القائمة من خلال F9 وهذه هي النتيجة كما قلت في السابق الــ Static يستخدم في الشغلات الثابتة التي لا تتغير في الحياة مثل ايام الاسبوع تم تعديل 1 ديسمبر 2013 بواسطة miash80 1 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 1 ديسمبر 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 1 ديسمبر 2013 سأبدء الان ان شاء الله بشرح النوع الثاني وهو الـــ Dynamic 2 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 1 ديسمبر 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 1 ديسمبر 2013 (معدل) بسم الله نبدء اريد انشاء قائمة جديدة من نوع Dynamic تستخدم فيها جملة الاستعلام في المثال السابق قمنا بأنشاء Record Group ثم قمنا بأنشاء قائمة وربطهما معا الان سنقوم بانشاء القائمة مباشرة وخلال التنفيذ سنكتب جملة الاستعلام الخاصة بــ Record Group نذهب الى Object Navigator ونعمل على اضافة LOVs جديدة وتخرج لنا هذه الشاشة ثم تخرج شاشة للأختيار Record Group جديدة ام Record Group مخزنة من قبل سنختار Record Group جديدة ثم Next ثم تخرج لنا شاشة يوجد فيها اكثر من طريقة لكتابة جملة الاستعلام Build SQL Query: طريقة استدعاء الجدول واختيار الحقول التي اريد ان تظهر في القائمة Import SQL Query: طريقة استدعاء ملف نصي مخزن فيه مسبقا جملة استعلام او كتابة جملة الاستعلام مباشرة في النص بالامكان استخدام اي طريقة وجميعها نفس النتيجة ان سأختار Build SQL Query سيطلب مني تحديد الجدول الذي سيرجع بيانات القائمة كالتالي حددنا اسم الجدول وهو جدول الاقسام Dept ثم علينا تحديد الحقول الموجودة داخل القائمة كالتالي وتكون النتيجة بهذا الشكل (( جملة الاستعلام )) ثم Next وتخرج شاشة للتحديد اي حقول تظهر في القائمة ثم نحدد اي نرجع قيمة حقول القائمة على الشاشة كالتالي تم تعديل 1 ديسمبر 2013 بواسطة miash80 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 1 ديسمبر 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 1 ديسمبر 2013 ثم تخرج شاشة نحدد فيها عنوان القائمة مع تحديد طول وعرض القائمة ثم ثم تعيين الحقول في القائمة \ ثم Finish تم انشاء القائمة وانشاء record group من خلالها كالتالي نقوم باعادة تسمية القائمة بالاسم المناسب طبعا اعادة التسمية غير اجبارية ولكنها للتوضيح عمل كل قائمة من خلال اسمها كالتالي طريقة استدعاء القائمة في الفورم نفس طريقة المثال السابق نعمل تنفيذ للفورم ثم نقوم بالدخول على حقل رقم القسم واستدعاء القائمة عن طريق F9 والنتيجة كالتالي تم المطلوب بنجاح والحمدلله اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 1 ديسمبر 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 1 ديسمبر 2013 (معدل) ان شاء الله المرة القادمة سأقوم بشرح خصائص القائمة وبعدها ابدأ في موضوع جديد تم تعديل 8 ديسمبر 2013 بواسطة ميسم الكرام اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 2 ديسمبر 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 2 ديسمبر 2013 شرح خصائص القائمة كالتالي اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 2 ديسمبر 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 2 ديسمبر 2013 (معدل) مثال سريع ... اريد ان اضيف موظف جديد ومع السرعة اخطأت وادخلت رقم قسم 99 وهو غير موجود خرجت لنا رسالة رقم القسم غير موجود كالتالي اريد حل هذه المشكلة نهائيا لحل هذه المشكلة يوجد خاصية في البلوك لفحص بيانات القائمة وهي Validate from List تكون No نغيرها الى Yes Validate from List :Yes نجرب هذه المرة ان ندخل رقم خطأ وهو 99 خرجت لنا القائمة لنختار رقم قسم صحيح. الحمدلله تم المطلوب في الدرس القادم ان شاء الله سنشرح موضوع الــ List Item تم تعديل 2 ديسمبر 2013 بواسطة miash80 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 3 ديسمبر 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 3 ديسمبر 2013 (معدل) سنشرح اليوم الــ List Item بسم الله نبدأ ما هو الــ List Item ...؟ List Item هو احد انواع Text Item نذهب على خصائص Text Item الى خاصية Item type ونغيرها Item type :List Item ثم نذهب الى خاصية Elements in List وندخل فيها بيانات قائمة الحقل كالتالي نعمل تنفيذ للبرنامح لنرى النتيجة كالتالي يوجد الـ List Item بثلاث أشكال نذهب على خاصية List Style لنرى هذه الاشكال * Poplist وهذا الشكل نفس المثال السابق * Tlist ويوجد فيها Toll bar لتغير قيم القائمة * Combo Box بإمكان تجربة كل واحدة للمشاهدة ومعرفة الفرق بينهما . الموضوع التالي هو Check Box تم تعديل 8 ديسمبر 2013 بواسطة ميسم الكرام 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
سيف نبهان بتاريخ: 3 ديسمبر 2013 تقديم بلاغ مشاركة بتاريخ: 3 ديسمبر 2013 جزاك الله خير وعقب الخير جنات النعيم واصل شرحك أخي الكريم في ميزان حسناتك إن شاء الله .. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 3 ديسمبر 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 3 ديسمبر 2013 الله يبارك فيك اخي العزيز سيف وان شاء الله للنهاية اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 3 ديسمبر 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 3 ديسمبر 2013 (معدل) سنشرح اليوم الــ Check Box بسم الله نبدء ما هو الــ Check Box ...؟ Check Box هو احد انواع Text Item Check Box نحتاج الى حقل جديد سأضيف حقل اسمه قرض على جدول الموظفين alter table emp add Loan number(1); هل الموظف اخذ قرض من الشركة ام لا نضيف هذا الحقل على شاشة الموظفين نذهب على خصائص Text Item الى خاصية Item type ونغيرها Item type : Check Box ونغير بعض الخصائص كالتالي معناها اذا وضعنا صح يعطي قيمة للحقل واحد واذا غيرنا وحذفنا الصح يعطي قيمة صفر وان تكون القيمة الاولية للحقل فاضية وعند التنفيذ يكون هذا شكل الشاشة بمجرد ان اضع صح يكون هذا الموظف استلم قرض من الشركة . الموضوع القادم هو Radio Group ان شاء الله تم تعديل 3 ديسمبر 2013 بواسطة miash80 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 3 ديسمبر 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 3 ديسمبر 2013 (معدل) سنشرح اليوم الــ Radio Group بسم الله نبدأ ما هو الــ Radio Group ...؟ Radio Group هو احد انواع Text Item نذهب على خصائص Text Item الى خاصية Item type ونغيرها Item type :Radio Group نذهب الى خصائص رقم القسم ونضعها Radio Group ويظهر الحقل بهذا الشكل ثم نضيف اربعة Radio Buttons كالتالي ندخل على خصائص كل Button ونغير في خصائصه كالتالي . هذه بيانات كل Button ويكون شكل الــ Radio Button كالتالي وبعد التنفيذ يخرج معنا هذا الشكل كما لاحظنا في الشكل حدد لكل سجل Radio Group للتحديد في اي قسم يعمل هذا الموظف . تم المطلوب والحمد لله تم تعديل 8 ديسمبر 2013 بواسطة ميسم الكرام 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 3 ديسمبر 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 3 ديسمبر 2013 الموضوع في الدرس القادم مهم جداَ وهو الـــ ( Multi Block ) او المعروف بـــ Master - Detail ان شاء الله اذا لم يكن هنالك اسئلة سأبدء بالشرح والله الموفق 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
حسين محمد_25800 بتاريخ: 6 ديسمبر 2013 تقديم بلاغ مشاركة بتاريخ: 6 ديسمبر 2013 بارك الله فيك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 7 ديسمبر 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 7 ديسمبر 2013 وفيك اخي العزيز اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 7 ديسمبر 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 7 ديسمبر 2013 (معدل) اليوم ان شاء الله سنقوم بشرح موضوع Master - Detail شرح بسيط : علاقة الماستر والديتل هي نفس علاقة الاب بالابناء الاب هو الماستر والابناء هم الديتل مثال بسيط : علاقة الماستر والديتل هي نفس علاقة جدول الاقسام بجدول الموظفين جدول الاقسام هو الماستر ((الاب)) وجدول الموظفين هو الديتل ((الابناء)) كل موظف تابع لقسمه (( كل ابن تابع لاباه ويوجد اكثر من ابن لكل اب)) كلام جميل سنأخذ مثال لتوضيح هذه العلاقة . نذهب الى الفورم بلدر ونقوم بأنشاء البلوك الخاص بالموظفين والبلوك الخاص بالاقسام طيب عندي سؤال صغير ....؟ هل ترتيب انشاء البلوك مهم ام لا ...؟ طبعا ترتيب انشاء البلوك مهم وضروري اذا يجب انشاء الاب اولاً ثم انشاء الاولاد يعني إنشاء الماستر قبل الديتل بسم الله نبدأ نبدأ بانشاء بلوك الماستر وهو بلوك الاقسام الان سنقوم بأضافة بلوك الديتل وهو بلوك الموظفين وعند اضافة البلوك ستخرج لنا شاشة انشاء العلاقة بين البلوك كالتالي سأترك هذه الشاشة ولن اعمل علاقة لارى ماذا يحصل ساكمل انشاء الشاشة وبعد قليل ستخرج لي شاشة تحديد الــ Canvas سأحدد الــ Canvas نفس الموجود عليها شاشة الاقسام كالتالي وبعدها تخرج لنا شاشة لتحديد الحقول التي ستظهر كالتالي كما نرى حقل رقم القسم موجود في الديتل واصلا موجود في الماستر لذلك لا نستدعي هذا الحقل لعدم تكرار البيانات في الماستر والديتل تم تعديل 8 ديسمبر 2013 بواسطة ميسم الكرام 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 7 ديسمبر 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 7 ديسمبر 2013 (معدل) نكمل اضافة شاشة الموظفين كالتالي وهذه هي النتيجة بعدها نعمل تنفيذ للفورم واستعلام للبيانات كالتالي كما نرى وجود بيانات للماستر وعدم وجود بيانات لديتل هذه مشكلة عدم تحديد العلاقة بين الماستر والديتل لحل هذه المشكلة يجب ان نضع علاقة بين الماستر والديتل كالتالي ... نذهب الى Relations في بلوك الماستر الاقسام ونضغط على + لأضافة علاقة جديدة ويخرج لنا شاشة كالتالي ونحدد في هذه الشاشة بلوك الماستر وبلوك الديتل مع تحديد شرط الاستعلام وتكون النتيجة ان شاء علاقة بين البلوكين كالتالي وبعد عمل تنفيذ وعمل استعلام تكون النتيجة تم المطلوب والحمدلله في المرة القادمة ان شاء الله سأكمل موضوع Master - Detail تم تعديل 7 ديسمبر 2013 بواسطة miash80 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Bosaeed بتاريخ: 8 ديسمبر 2013 تقديم بلاغ مشاركة بتاريخ: 8 ديسمبر 2013 الف شكر لك اخي موسى لنفترض اني اريد استعلم عن القسم رقم 10 والموظف رقم 7782 هل استطيع الاستعلام عنه بخطوة واحدة فقط ؟ او يجب ان استعلم عن القسم رقم 10 كخطوة أولى، ثم بعد ذلك استعلم عن الموظف رقم 7782 كخطوة ثانية ؟ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 8 ديسمبر 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 8 ديسمبر 2013 (معدل) العفو اخي العزيز بالإمكان أن تستعلم على أكثر من شرط في الاستعلام الواحد يعني ممكن تضع شرط الاستعلام رقم القسم ورقم الموظف ثم تنفذ الاستعلام لكن لا ارى مناسب وضع اكثر من شرط في هذه الحالة لانه عن طريق رقم الموظف أستطيع إسترجاع رقم القسم تم تعديل 22 ديسمبر 2013 بواسطة ميسم الكرام اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 8 ديسمبر 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 8 ديسمبر 2013 (معدل) في الشرح السابق شاهدنا هذه الشاشة عند تكوين علاقة بين الشاشات وشاهدنا هذه الخصائص التي يجب معرفتها Cascading : أذا لغيت الماستر يلغي الديتل Isdate :اذا لغيت الماستر الديتل لا يتأثر Non-Isolated : يجب إلغاء الديتل أولا ثم الماستر Join Condition : عملية الربط بينهم الان سنقوم بعمل شاشة جديدة فيها بلوك الاقسام وبلوك الموظفين والربط بينهم بعلاقة مباشرة تم تعديل 8 ديسمبر 2013 بواسطة ميسم الكرام 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 8 ديسمبر 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 8 ديسمبر 2013 نريد عمل شاشة جديدة فيها بلوك الاقسام وبلوك الموظفين والربط بينهم بعلاقة مباشرة قمنا بعمل بعمل بلوك خاص بالاقسام وفي سجل واحد ثم قمنا بعمل بلوك خاص بالموظفين ونريد عمل علاقة بينهم عن طريق هذه الشاشة نضغط على Create Relationship لانشاء علاقة بين الشاشات ثم تخرج هذه الشاشة للتحديد الماستر ثم تخرج شاشة نحدد فيها الحقول التي تربط الجداول مع بعض وبالتالي يتم الربط بينها بعلاقة كالتالي هكذا عملنا علاقة بين الماستر والديتل 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Bosaeed بتاريخ: 8 ديسمبر 2013 تقديم بلاغ مشاركة بتاريخ: 8 ديسمبر 2013 (معدل) العفو اخي العزيز بالاستطاع ان تستعلم على اكثر من شرط في الاستعلام الواحد يعني ممكن تضع شرط الاستعلام رقم القسم ورقم الموظف ثم تنفذ الاستعلام لكن لا ارى مناسب وضع اكثر من شرط في هذه الحالة لانه عن طريق رقم الموظف أستطيع إسترجاع رقم القسم اخي الفاضل استطيع الاستعلام عن اكثر من شرط في بلوك الماستر، مثلا: (رقم القسم - اسم القسم) ولكن لا استطيع الاستعلام عن طريق الديتل إلا في حالة انني استعلمت عن طريق الماستر، بمعنى انني لا استطيع الانتقال لبلوك الديتل إلا بعد ان استعلم عن الماستر ومن ثم انتقل للديتل واستعلم عن الموظفين. مثلا: استعلم عن القسم رقم 10 راح يسترجع لي جميع معلومات الموظفين في القسم 10، بعد ذلك استعلم عن الموظف رقم 7782 في بلوك الديتل. هل هناك شيء في خصائص البلوك يسمح لي بالاستعلام من بلوك الديتل مباشرة؟ تم تعديل 8 ديسمبر 2013 بواسطة Bosaeed 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 9 ديسمبر 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 9 ديسمبر 2013 (معدل) للأجابة على سؤال الاخ العزيز ولأكمال شرح العلاقة بين الماستر والديتل نذهب الى خصائص العلاقة عن طريق F4 ستكون عندنا هذه الشاشة Prevent Masterless Operations : خاصية الاستعلام عن الديتل دون وجود ماستر Deferred : لا يأتي بالديتل الا لما استعلم عنه Automatic Query : مجرد ما يدخل على الديتل يأتي بالبيانات ولتذكير دائما عند بناء علاقة يتم بنائها في بلوك الماستر تم تعديل 22 ديسمبر 2013 بواسطة ميسم الكرام 2 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.