alsaedi بتاريخ: 23 مارس 2008 تقديم بلاغ مشاركة بتاريخ: 23 مارس 2008 (معدل) اعضاء مجموعة مستخدمي اوراكل العربية السلام عليكم لدي مشروع لاساتذة جميع الجامعات من تدريسين في كافة الاختصاصات حيث يتكون جدول البيانات من التالي Number التسلسل Name الاسم Degree اللقب العلمي Department القسم College الكلية University الجامعة General special التخصص العام Specific special التخصص الدقيق كيف يمكن ان عملية البحث في الفورم تكون بالصورة التالية ....... عندما ابحث مثلا عن الأساتذة في كلية العلوم وفي جامعة عين شمس مثلا تكون النتيجة في نموذج جديد للاساتذة الذين هم في كلية العلوم وبجميع الاختصاصات كيمياء فيزياء ............الخ و في جامعة عين شمس فقط او عندما ابحث مثلا عن الاساتذة في قسم الحاسبات وبلقب استاذ مساعد تكون النتيجة في فورم جديد لاساتذة قسم الحاسبات فقط و ممن بدرجة استاذ مساعد فقط ولجميع الجامعات طبعا لاني لم احدد الجامعة وهكذا .....وبانتظار الردود ايها الاعزاء تم تعديل 23 مارس 2008 بواسطة alsaedi اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
alsaedi بتاريخ: 24 مارس 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 24 مارس 2008 الاخوة الاعزاء الموضوع غاية في الاهمية .....لكـــــــــــن هل الموضوع صعب الى هذه الدرجة ؟؟؟؟؟؟؟؟؟؟ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
weloooo بتاريخ: 24 مارس 2008 تقديم بلاغ مشاركة بتاريخ: 24 مارس 2008 أخي الكريم. قم بعمل (control block) ثم قم بإنشاء حقول البحث التي تريدها (إسم الجامعه، التخصص، الدرجه، الإسم .....وهكذا ). بعد ذلك إنشيء زرار أكتب فيه التالي: :global.uni_name:=:university_name; :global.sp:=:specialization; :global.pro_name:=:professor_name; go_block('professors_data'); execute_query; تم إستخدام الجلوبال هنا لأن هذه القيم سوف يتم إستخدامها في بلوك آخر أو نموذج آخر كما تريد.ضيف ما تريده من حقول للبحث على هذه الطريقه.بعد ذلك إذهب إلى البلوك أو الفورمه التي تريد أن تبحث بداخلها. في هذا المثال يتم الذهاب إلى بلوك آخر (professors_data) وليس فورمه. ، ثم إختار تريجر (pre_query) وأكتب فيه التالي: :university_name:=:global.uni_name; :specialization:=:global.sp; :professor_name:=:global.pro_name; أي سؤال أنا تحت أمرك. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
weloooo بتاريخ: 24 مارس 2008 تقديم بلاغ مشاركة بتاريخ: 24 مارس 2008 آسف جداً . إختار تريجر (when_botton_pressed) للزرار ثم قم بعمل الخطوات السابقه. بلغني بالنتيجه اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
alsaedi بتاريخ: 27 مارس 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 27 مارس 2008 (معدل) شكرا لك اخي على الرد في البداية انا مازلت مبتدا في اوراكل ... وانا اريد ان اعمل زر البحث يمتاز ببحث دقيق لا اكثر وليست مجموعة ازرار ..........وثانيا اخي العزيز كيــــــــف اعمل كونترول بلوك ؟؟؟؟ ارجو ان لا اكون ثقيل عليك في السؤال وياريت قليل من التفصيل . تم تعديل 27 مارس 2008 بواسطة alsaedi اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
weloooo بتاريخ: 27 مارس 2008 تقديم بلاغ مشاركة بتاريخ: 27 مارس 2008 السلام عليكم،هناك نوعان من البلوك (Database block) و (Control block).الأول يتم إنشاءه للتعامل المباشر مع بيانات قاعدة البيانات لديك وعند إنشاءه تجد أنه الفورم ينشيء الحقول أوتوماتيك وتعتمد هذه الحقول على أعمدة القاعده لديك، أما الكنترول بلوك هو بلوك لا يعتمد (إفتراضياً) في البيانات التي سوف تظهر في أعمدته على بيانات أعمدة قاعدة البيانات لديك، ويتم إستخدامه لمثل هذه الحاله حتى لا أطول عليك. أدخل على فورم جديده ثم إقف بالماوس على (Data Blocks) ثم إضغط على زرار (+) لإنشاء بلوك جديد سوف تظهر لك رسالة إختيار الأول أن يكون إنشاء هذا البلوك من خلال ال (wizard) , والثاني أن يكون إنشاءه يدوي (Build a new data block manually) إختار الثاني وبهذا تكون قد أنشأت كنترول بلوك، سميه (control) .سوف تلاحظ أنه ليس به أي حقول (items) لذلك عليك إنشائها بنفسك على عكس ال (Database block). إنشيء الحقول التي تريدها لعملية البحث (إسم الجامعه، التخصص، إسم الدكتور ... وهكذا) ، سوف تجد في خصائصهم أنها لا تعتمد على قاعدة البيانات (Database item= No).وبعد تسميتهم إنشيء واحد آخر وإجعله زرار ثم ضيف عليه تريجر (when_button_pressed) وأكتب فيه: :global.uni_name:=:control.university_name; :global.sp:=:control.specialization; :global.pro_name:=:control.professor_name; --------------------------------------------------------------------------- /* Add any number of global variables according to the search items that satisfy your search criteria.*/ --------------------------------------------------------------------------- go_block('professors_data'); execute_query; بعد ذلك إذهب إلى البلوك أو الفورمه التي تريد أن تبحث بداخلها. في هذا المثال يتم الذهاب إلى بلوك آخر (professors_data) وليس فورمه. ، ثم إختار تريجر (pre_query) وأكتب فيه التالي: :professors_data.university_name:=:global.uni_name; :professors_data.specialization:=:global.sp; :professors_data.professor_name:=:global.pro_name; ملحوظه: الحقول داخل الكنترول بلوك لا يتم إنشاء (canvas) لها لذلك إما أن تنشيء كانفس ثم تحدد داخل الحقول هذا الكانفس حتى يظهروا عليه، او تنشيء (database block) وذلك حسب الضروره وبهذا يتم إنشاء كانفس أوتوماتيك لهذا البلوك بعد ذلك عند إنشاء (control block) وبداخله الحقول أدخل على خصائصها وحدد لها نفس الكانفس للبلوك الأول إذا أردت ذلك...وهذا هو رابط لفورمه تقوم بذلك تعمل هذه الفورمه على إسكيمة(hr). أرجو أن أكون وفيت من هنا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
alsaedi بتاريخ: 30 مارس 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 30 مارس 2008 شكرا لك اخي العزيز welooooالطريقة نجحت والحمد لله والشكر ........بفضل الله تعالى ثم مســــــــاعدتك القيمة يا خي الكريم ....بارك الله فيك سؤال اخير اخي العزيز هل ممكن ان اطبع نتيجة الاستعلام على شكل تقرير اي اضيف زر يعمل طباعة لنتيجة التقرير على شكل ورقة بالعرض وفي كل ورقة عدد معين من القيودد ... وياريت توضيح عمل رسالة عند عدم وجود نتيجة للاستعلام ...ارجو ان لا اثقل علــــــــيك ياخي اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
weloooo بتاريخ: 2 أبريل 2008 تقديم بلاغ مشاركة بتاريخ: 2 أبريل 2008 السلام عليكم ورحمة الله وبركاته.أخي الكريم أنا آسف لتأخري في الرد عليك لظروف النت . أنت لا تثقل علي في شييء لأن هذا من واجب المسلمين جميعاً. أولاً: بالنسبه لسؤالك أنك تريد عمل رساله عند عدم وجود نتيجه. أولاً عند عمل إستعلام ليس له نتيجه سوف تظهر لك رساله أسفل يمين الشاشه بها رقم وليكن (frm-40350) ثم بعد ذلك نص الرساله (this query has no record to be retrieved) . هذه الأرقام هي لتوضيح نوع الرساله حيث أن أي رساله إما أن تكون (informative) أو ( error) ومعرفة نوعها يكون من خلال رقمها دورك هو أن تفتح ال (help) تكتب هذا الرقم (frm-40350) في البحث من خلال ال (index) راعي أنك سوف تكتب أيضاً الحروف الثلاثه. بعد ذلك أدخل عليها وسوف تجد أن نوعها (informative). الآن وعلى مستوي النموذج إعمل تريجر من نوع(on_message) وأكتب فيه: if error_cod=40350 then message(هذا الإستعلام ليس له نتيجه); message(هذا الإستعلام ليس له نتيجه); end if; أما إذا كان نوع الرساله (error) وليس (informative) فإنك تعمل تريجر من نوع (on_error) ثم تقوم بنفس الخطوات السابقه.___________________________________________________________ثانياً: بالنسبه للتقرير إذا أردت عمله علي شكل ورقه بالعرض. إذهب إلى ال (main section) للتقرير ثم أدخل على ال (property inspector) زود ال (width)وقلل ال (height) ثم إجعل ال (orientation) إلى (landscape). أما بالنسبه لعدد السجلات. إذهب ال (repeating frame) ومن خلال ال (property inspector) عدل ال (maximum record per page) عدلها إلى العدد الذي تريده. أما بالنسبه للتقرير نفسه فأظن أن عمله صعب (مع أني قمت بمحاوله وكان من المفترض أن تنجح ) ذلك لأن التقرير يعتمد على جملة (sql query) وحيث أن الأعمده نفسها في جملة ال (where) في هذا التقرير وليس فقط قيمة الأعمده تتغير فإن ذلك لا تستطيع فعله من خلال التقريرولكن أنا الآن أقوم بمحاوله وأيضاً سوف أبحث عن هذا الموضوع لأنه فعلاً مهم. الله يسهلها ولا تتردد إن أردت السؤال عن أي شييء آخر وأتمنى أن يكون في إستطاعتي. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
weloooo بتاريخ: 2 أبريل 2008 تقديم بلاغ مشاركة بتاريخ: 2 أبريل 2008 آسف. الكود الذي سيكتب في تريجر (on_message) هو: if error_code=40350 then message(هذا الإستعلام ليس له نتيجه); message(هذا الإستعلام ليس له نتيجه); end if; اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
alsaedi بتاريخ: 3 أبريل 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 3 أبريل 2008 شكـــــــــــــــــــــــرا لك اخي العزيز وحفظك الله من كل مكروه اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
weloooo بتاريخ: 6 أبريل 2008 تقديم بلاغ مشاركة بتاريخ: 6 أبريل 2008 السلام عليكم ورحمة الله وبركاته معلش يا أخي كان المفروض إني أبعت المشاركه دي منذ أيام لكن دي كانت مشكلة النتأنا خلصتلك التقرير المبني على فورمة البحث كما أردت وأتمنى إنها تكون جت في وقتهاأنا شارح المكان المفروض أن تضع به التقرير على الهارد في ملف مرفقهناك بعض الإضافات في الفورمه وهي موجوده فقط للتوضيح لا أكثر وممكن تستغنى عنها تماماً حتى لا تحمل على الفورم أكواد ليس لها داعي Form_Report.zip Form_Report.zip Form_Report.zip اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
alsaedi بتاريخ: 7 أبريل 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 7 أبريل 2008 (معدل) شكرا لك يا اخي الكريم على هذا التعاون الكبير لا اعرف كيف اشكرك لدي سؤال اخير حتى لااصبح ثقيل عليك يا اخيلا استطيع ان ارى الكودات اي هل من الممكن توضيح كيفية عمل هذه الخطوة قم بعمل server للتقارير ثم سميه rep90 من خلال كتابة هذا الأمر في ال run rwserver server=rep90[/sizeانا اعمل على قاعدة بيانات اوراكل 9i وديفلوبر 6i تم تعديل 7 أبريل 2008 بواسطة alsaedi اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
weloooo بتاريخ: 7 أبريل 2008 تقديم بلاغ مشاركة بتاريخ: 7 أبريل 2008 السلام عليكم.شوف أخي أنا أعمل على قاعدة بيانات 10g وكذلك الدفيلوبر ولكن أعتقد أن هذه الخطوه ثابته لأي دفيلوبر.حتى تستطيع تشغيل أي تقرير لابد من وجود server مخصص للتقارير. وحتى تقوم بعمل هذا ال server إتبع الآتي:1- إذهب الى قائمة ال start ثم شغل ال run2- أكتب في ال run هذا الأمر.rwserver server=rep90بعد ذلك سوف تجد نافذه أن ال server تم إنشاءه وسوف يظهر لك نافذه صغيره لهذا الserver إنتظر دقيقه حتى تتأكد أن الserver أصبح جاهزاً . وأنظر إلى هذه النافذه ستجد جملة report server is ready وبذلك تستطيع فتح التقرير.أتمنى أن تكون الفكره قد وضحت وراسلني إن لم تستطع ذلك. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
alsaedi بتاريخ: 9 أبريل 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 9 أبريل 2008 (معدل) شكرا لك اخي على هذا التعاون الكبير واللامحدود ما الذي تقصده ب rwserver هل هو اسم السيرفر الخاص باوراكل عملت ذلك بادخال اسم اليرفر تبعي من خلال كتابة الامر oracle server=rep90 ولكن تظهر لي شاشة الدوس فيها مكتوب hit any key to exit server تبقى هذه الشاشة على نفس الحالة لفترة طويلة ما فائدة هذه الطريقة لاني اواجة نماذج وتقارير بنفس الطريقة في مواضيع اخرى في المنتدى هل من الممكن ان تفضلت ماهو الكود الذي كتبته في زر التقرير وكيفية انشاء التقرير وماهي التراجرات المضافة على الفورم الاول الذي يتم من خلاله البحث بصورة دقيقة ارجو ان لا ازعجك في النهاية وعلى راحتـــــــــــك في الاجابة تم تعديل 9 أبريل 2008 بواسطة alsaedi اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
weloooo بتاريخ: 9 أبريل 2008 تقديم بلاغ مشاركة بتاريخ: 9 أبريل 2008 السلام عليكم.أنا لا اعلم إين كتبت هذه الجمله oracle server=rep90 على أي حال ياريت تحذفها وترجع إلى ال default . إن rwserver هو الملف التشغيلي لعمل ال report server وهو السيرفر الخاص بتشغيل التقارير وبدونه لا تستطيع أن تقوم بالتشغيل. ولعمل مثل هذا السيرفر إتبع الآتي:1- أسفل يسار الشاشه ستجد زرار start أكيد أنت عارفه. إضغط عليه.2- من خلال أمر ال run أكتب السطر الذي قلتلك عليه.أنا ارفقت ملف فيه شرح بالصور لهذه الخطوه أرجو أن يفيدكبالنسبه لموضوع التريجرات أنا شرحتها فوق وكذلك يمكنك فتح الفورم والنظر فيها وفقك الله pics.zip اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
alsaedi بتاريخ: 10 أبريل 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 10 أبريل 2008 سيدي الكريم اشكرك على هذا النفس الطويل الذي تتحلى به وعلى صدرك الرحب في استقبال اي سؤال ولكني بصدق اريد فقط ان اعرف ماهو الكود الذي اضفته في زر التقرير لاني لااستطيع مشاهدته وماهي طريقة انشاء هذا التقرير باختصار لا اكثر ان امكن وان لا فجزاك الله خير جزاء المحسنين على هذا التعاون الكبير اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
weloooo بتاريخ: 11 أبريل 2008 تقديم بلاغ مشاركة بتاريخ: 11 أبريل 2008 السلام عليكم.سيدي الفاضل. كود زرار التقرير منقسم إلى جزئين:الأول: هو لبناء جملة ال where وذلك لإستخدامها في جملة الإستعلام للتقرير.الثاني: كود إستدعاء التقرير والمبني على جملة ال where التي نتجت من الكود الأول.الجزء الأول:بالنسبه للتقرير فإن من الملاحظ أن جملة ال where تتغير على حسب قيمة أعمدة البحث التي تريدها. الفورم يقوم بها تلقائياً لعمل الإستعلام ولكنك تريدها أيضا للتقرير فكان من اللازم عملها يدوياً في الفورم ثم تمررها كا (parameter) لتشغيل التقرير في الجزء الثاني من الكود. begin if :control.l_name is null then if :control.dept_id is null then :global.p_l_name:='salary= '||:control.sal; else :global.p_l_name:='department_id= '||:control.dept_id; end if; else :global.p_l_name:='last_name= '||:control.l_name; end if; :control.d_l_name:=:global.p_l_name; end; ---------------- begin if :control.dept_id is null then if :control.sal is null then :global.p_dept_id:='last_name= '||:control.l_name; else :global.p_dept_id:='salary= '||:control.sal; end if; else :global.p_dept_id:='department_id= '||:control.dept_id; end if; :control.d_dept_id:=:global.p_dept_id; end; ------------------ begin if :control.sal is null then if :control.l_name is null then :global.p_sal:='department_id= '||:control.dept_id; else :global.p_sal:='last_name= '||:control.l_name; end if; else :global.p_sal:='salary= '||:control.sal; end if; :control.d_sal:=:global.p_sal; end; :global.all:='where '||:global.p_l_name||' and '||:global.p_dept_id||' and '||:global.p_sal; أنظر للسطر الأخير في الكود ستجد أن به global variable لتضع به القيمه الناتجه من جمل الشرط وهي في النهايه جملة ال where التي ستمررها إلي التقرير كا باراميتر.الجزء الثاني:وهو الجزء المسؤل عن إستدعاء التقرير. أنظر إلى الكود: declare v_state varchar2(1000); vc_rep_status varchar2(100); VC_URL varchar2(1000); pl_id paramlist; begin ---------------------------------------- PARAMETER ----------------------------------------------------- pl_id := get_parameter_list('temp'); if id_null(pl_id) then pl_id := create_parameter_list('temp'); else destroy_parameter_list(pl_id); pl_id := create_parameter_list('temp'); end if; add_parameter (pl_id,'p_where',text_parameter,:global.all); ------------------------------------RUN REPORT------------------------------------------------ v_state := run_report_object('REP',pl_id); vc_rep_status := report_object_status(v_state); WHILE vc_rep_status in ('RUNNING', 'OPENING_REPORT','ENQUEUED') LOOP vc_rep_status := report_object_status(v_state); END LOOP; -- VC_URL :='/reports/rwservlet/getjobid'||substr(v_state,LENGTH('rep90')+2)||'?server=rep90'; WEB.SHOW_DOCUMENT('http://localhost:8889/reports/rwservlet/getjobid'|| substr(v_state,instr(v_state,'_',-1)+1)||'?'||'server=rep90','_blank'); end; حتى لا أطيل في الشرح. الجزء الأول من كود الإستدعاء ثابت. بالنسبه للسطر: add_parameter (pl_id,'p_where',text_parameter,:global.all); هو لإضافة parameter وهو الذي سيعتمد عليه التقرير. وطبعاً هايكون قيمه هذا الباراميتر هي جملة ال where الناتجه من الجزء الأول من الزرار. خلال هذا ال parameter ستجد على الترتيب :إسم ال parameter list ، إسم الparameter الموجةد في التقرير نفسه والذي سيحمل قمية جملة ال where من الفورم، نوع ال parameter، القيمه الفعليه global.all: التي سيأخذها باراميتر التقرير ('p_where')طبعاً عند إنشاء التقرير لابد أن تضع به user parameter وهما نوعان إما bind أو lexical . في مثالنا هذا يكون نوعه lexical لأنه سيحمل قيمه نصيه(جملة ال where) ويكون إسمه هو نفس الإسم الموجود بزرار إستدعاء التقرير (p_where) . ثم تكتب جملة الإستعلام للتقرير كالآتيselect * from employees &p_whereثم تخزن التقرير في المسار e:\ تحت إسم query_all.rdfبعد ذلك ترجع إلى الفورم ستجد كلمة report إضغط إنشاء جديد. ثم أدخل عليه وحدد مكانه وهو المكان الذي خزنت فيه التقرير نفسه(query_all). وحدد ال query data source block إلي البلوك الذي سيتم عليه الإستعلام(employees) . ومن الخارج سمه الأسم الذي تريد (مثلا emp)ترجع إلي زرار التقرير مره أخري ومع سطر: v_state := run_report_object('REP',pl_id); تلاحظ أن إسم report الذي قمت بتسميته (rep) مكتوب . وهذا هو المكان الذي تكتب فيه إسم التقرير المنشأ على الفورم. لاحظ هذا الإسم ليس إسم التقرير الأساسي ولكن إسمه المتعارف عليه في الفورم والذي قمت بإنشاءه في الخطوه السابقه.أترك باقي الكود كما هو._________________كود الزرار بالكامل: begin if :control.l_name is null then if :control.dept_id is null then :global.p_l_name:='salary= '||:control.sal; else :global.p_l_name:='department_id= '||:control.dept_id; end if; else :global.p_l_name:='last_name= '||:control.l_name; end if; :control.d_l_name:=:global.p_l_name; end; ---------------- begin if :control.dept_id is null then if :control.sal is null then :global.p_dept_id:='last_name= '||:control.l_name; else :global.p_dept_id:='salary= '||:control.sal; end if; else :global.p_dept_id:='department_id= '||:control.dept_id; end if; :control.d_dept_id:=:global.p_dept_id; end; ------------------ begin if :control.sal is null then if :control.l_name is null then :global.p_sal:='department_id= '||:control.dept_id; else :global.p_sal:='last_name= '||:control.l_name; end if; else :global.p_sal:='salary= '||:control.sal; end if; :control.d_sal:=:global.p_sal; end; :global.all:='where '||:global.p_l_name||' and '||:global.p_dept_id||' and '||:global.p_sal; --------------------------------------------- declare v_state varchar2(1000); vc_rep_status varchar2(100); VC_URL varchar2(1000); pl_id paramlist; begin ---------------------------------------- PARAMETER ----------------------------------------------------- pl_id := get_parameter_list('temp'); if id_null(pl_id) then pl_id := create_parameter_list('temp'); else destroy_parameter_list(pl_id); pl_id := create_parameter_list('temp'); end if; add_parameter (pl_id,'p_where',text_parameter,:global.all); ------------------------------------RUN REPORT------------------------------------------------ v_state := run_report_object('REP',pl_id); vc_rep_status := report_object_status(v_state); WHILE vc_rep_status in ('RUNNING', 'OPENING_REPORT','ENQUEUED') LOOP vc_rep_status := report_object_status(v_state); END LOOP; WEB.SHOW_DOCUMENT('http://localhost:8889/reports/rwservlet/getjobid'|| substr(v_state,instr(v_state,'_',-1)+1)||'?'||'server=rep90','_blank'); end; حاول إستيعاب الكود وستجده سهلاً إن شاء الله. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
alsaedi بتاريخ: 11 أبريل 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 11 أبريل 2008 (معدل) شــــــــــــــــــــــكرا لك يااخي على الجواب ............اسال الله ان يحفظك من كل مكروه وان يسدد خطـــــــــاك تم تعديل 11 أبريل 2008 بواسطة alsaedi اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
roro2005 بتاريخ: 22 أبريل 2008 تقديم بلاغ مشاركة بتاريخ: 22 أبريل 2008 السلام عليكم اخيارجو ان لا اكون دخيلة على الموضوع....فانا ايضا بحاجة الى مثل هذا المثالالذي حصل معي...عندما قمت بتشغيل السيرفر لتشغيل التقريرلم يوافق على ذلكحاولت فتح البرنامج لاطلاع على الاكواد الموجودة لم تفتح....ولم يظهر اي كود؟؟؟لماذاواكون جدا شاكرة لكاختكroro2005 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
alsaedi بتاريخ: 19 أغسطس 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 19 أغسطس 2008 الاخوة والاخواتكيف يمكن ان اضيف text item الى الفورم يرجع لي مجموع عدد نتيجة الاستعلام .... اي لو كان عدد الطلبة الذين استعلمت عليهم 50 ترجع في المربع عدد 50 وهكذا .. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
alsaedi بتاريخ: 20 أغسطس 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 20 أغسطس 2008 يار يت لو حد يقدر يساعد يا جماعة ولو بكلمة اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
alsaedi بتاريخ: 20 أغسطس 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 20 أغسطس 2008 بــــــــــــــــــــصراحة الموضوع صعب ؟؟؟؟ ام ماذا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
emadabdullah بتاريخ: 20 أغسطس 2008 تقديم بلاغ مشاركة بتاريخ: 20 أغسطس 2008 بسم الله الرحمن الرحيم الموضوع مش صعب ولا حاجه يا أخي .. أولا إنتا عايز تعمل شاشه فيها 2 Tab page الأولى تحتوي على البحث .. والثانية تحتوي على نتيجة البحث التاب الأولى تكون مبنية على جميع المعايير التي تود البحث بها ... مثل .. Number التسلسلName الاسم Degree اللقب العلمي Department القسم College الكلية University الجامعة General special التخصص العام Specific special التخصص الدقيق وكما تشاء أضف فيها .. أما التاب الثانيه فتحتوي على Database Block يجيب البيانات من الجدول المراد البحث فيه .. وفي ال Where Condition إكتب التالي .. (Degree = :Degree OR :Degree IS null )and(College = :College or :College is null)وهكدا حتى تضيف جميع المعايير اللتي ترغب في إضافتها .. وعلى التريجر When Tab Change تكتبIf new_tab_page = search_result then excecute_queryطبعا مع مراعات الكود الصحيح لإني مش حافظ كود طبعا .. وأتمنى أن أكون أجبت سؤالك وبالتوفيق اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
alsaedi بتاريخ: 20 أغسطس 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 20 أغسطس 2008 شكرا على الرد اخي العزيز الموضوع ببساطة ايد ان اضيف تكست ايتم يرجع مجموع عدد نتيجة البحث لا اكثر ولا اقل اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
alsaedi بتاريخ: 24 أغسطس 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 24 أغسطس 2008 (معدل) يا جماعة يا ريت مساعدة تم تعديل 24 أغسطس 2008 بواسطة alsaedi اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.