بتاريخ: 6 أغسطس 200916 سنة comment_165705 اريد ان اعمل تقرير اكثر مرونة يعني مثلا اجازات الموظف هذا التقرير لا اريد فقط ان استخرجه بواسطة رقم الموظف وانما اطلق الحرية للمستخدم لوضع ما يشاء وبناءا عليه ينتج التقريرمثل حرية اختيار رقم موظف او حسب تاريخ معين او حسب شهر معين او حسب سنة معينة ؟ كيف يمكنني فعل ذلك ؟؟ تقديم بلاغ
بتاريخ: 6 أغسطس 200916 سنة comment_165707 السلام عليكمأخي ماهر بامكانك عمل اكتر من PARAMETER ...وعلى فورم استدعاء التقرير تعمل مثلا RADIO BUTTON OT CHECK BOX مرتبط بهذه الــ PARAMETER ...بحث لو قام باختيار الــ RADIO الخاص برقم الموظف التقرير يشتغل على البراميتر رقم الموظف...ولو اختار الــ RADIO تاريخ معين يشتغل الباراميتر الخاص بالتاريخ...وهكذا...ارجو ان كون الفكرة وصلت...او بامكان استدعاء التقرير من اكتر من فورم ولكن كل الفورمز تستدعي نفس التقرير والذي يختلف هو الباراميتر...وبالمتيو الخاصة بالتقارير تكتب/ متلا التقرير الاول ( اجازات الموظف حسب الرقم )،(اجازات الموظف حسب تاريخ التعيين).....الخولكن اجد الطريقة الاولى افضل...بالتوفيق تم تعديل 6 أغسطس 200916 سنة بواسطة PALI.ORACLE تقديم بلاغ
بتاريخ: 6 أغسطس 200916 سنة كاتب الموضوع comment_165709 اخي احمد انا فاهمك ولكن المشكلة عندي في صياغة الاستعلام في التقرير خذ مثلا ما كتبته انا في التقرير لكنه لم يعمل لماذا لا اعرف : SELECT LEAVE.LEAVE_ID,LEAVE.LEAVE_EMP_ID,to_CHAR(LEAVE.LEAVE_DATE,'yyyy/MM/DD'), LEAVE.LEAVE_REASON,leave.leave_time_total,LEAVE.LEAVE_TIME_FROM,LEAVE.LEAVE_TIME_TO,LEAVE.LEAVE_RETURN_TIME,LEAVE.LEAVE_DATE_ORIGINAL,(TRIM(TRIM(EMPLOYEEs.F_NAME) || ' ' || TRIM(EMPLOYEEs.S_NAME) || ' ' || TRIM(EMPLOYEEs.T_NAME) || ' ' || TRIM(EMPLOYEEs.L_NAME))) ,JOB_NAME,DEPT_NAMEFROM LEAVE,EMPLOYEES,JOBS,DEPARTMENTSwhere EMPLOYEES.EMP_ID=LEAVE.LEAVE_EMP_ID AND employees.job_id=jobs.job_idand employees.emp_dept_id=departments.dept_id ANDLEAVE.LEAVE_ID=_EMP_ID AND حسب التاريخ LEAVE.LEAVE_DATE_ORIGINAL IN( _DATE ) AND حسب السنة to_CHAR(LEAVE.LEAVE_DATE_ORIGINAL,'YYYY') = _YEAR ANDto_CHAR(LEAVE.LEAVE_DATE_ORIGINAL,'MM/YYYY') = _month حسب الشهر لكن اريد ان يخرج التقرير في اي حالة يعني مش شرط يعبي كل شيء ORDER BY LEAVE.LEAVE_DATE_ORIGINAL DESc تقديم بلاغ
بتاريخ: 6 أغسطس 200916 سنة comment_165711 هل يعطيك أخطاء ؟؟؟وجملة الاستعلام عندك من اكتر من جدول صح ؟؟ تقديم بلاغ
بتاريخ: 6 أغسطس 200916 سنة كاتب الموضوع comment_165712 نعم جملة الاستعلام اكثر من جدول والجداول هي لاستخراج اسم الموظيفة والدائرة للموظف من الجداول الاخرى اخي احمد الاستعلام لا يعطي اخطاء تقديم بلاغ
بتاريخ: 6 أغسطس 200916 سنة comment_165715 ماهر جرب هيك: SELECT LEAVE.LEAVE_ID, LEAVE.LEAVE_EMP_ID, LEAVE.LEAVE_DATE, LEAVE.LEAVE_REASON, leave.leave_time_total, LEAVE.LEAVE_TIME_FROM, LEAVE.LEAVE_TIME_TO, LEAVE.LEAVE_RETURN_TIME, LEAVE.LEAVE_DATE_ORIGINAL, (TRIM(TRIM(EMPLOYEEs.F_NAME) || ' ' || TRIM(EMPLOYEEs.S_NAME) || ' ' || TRIM(EMPLOYEEs.T_NAME) || ' ' || TRIM(EMPLOYEEs.L_NAME))) , JOB_NAME,DEPT_NAME FROM LEAVE,EMPLOYEES,JOBS,DEPARTMENTS where EMPLOYEES.EMP_ID=LEAVE.LEAVE_EMP_ID AND employees.job_id=jobs.job_id and employees.emp_dept_id=departments.dept_id AND LEAVE.LEAVE_ID=_EMP_ID OR LEAVE.LEAVE_DATE_ORIGINAL=_DATE OR to_CHAR(LEAVE.LEAVE_DATE_ORIGINAL,'YYYY') = _YEAR OR to_CHAR(LEAVE.LEAVE_DATE_ORIGINAL,'MM/YYYY') = _month ORDER BY LEAVE.LEAVE_DATE_ORIGINAL DESc تقديم بلاغ
بتاريخ: 6 أغسطس 200916 سنة كاتب الموضوع comment_165734 اخي احمد جربت باستخدام رقم الموظف فقط واشتغل تمام جربت ان اضيف مع رقم الموظف or date يعني يا اما رقم الموظف او التاريخ فنتج التالي كمية سجلات كثيرة جداالذي استنتجته انه عند اضافة and مافي مشاكل حيث يسمح لك التقرير ولكن بشرط ان تملئ كل الحقول المطلوبة لكن عند وضع or ينتج سجلات كثيرة جدا وهي سجلات غير صحيحة تقديم بلاغ
بتاريخ: 7 أغسطس 200916 سنة comment_165774 اخي احمد جربت باستخدام رقم الموظف فقط واشتغل تمام جربت ان اضيف مع رقم الموظف or date يعني يا اما رقم الموظف او التاريخ فنتج التالي كمية سجلات كثيرة جداالذي استنتجته انه عند اضافة and مافي مشاكل حيث يسمح لك التقرير ولكن بشرط ان تملئ كل الحقول المطلوبة لكن عند وضع or ينتج سجلات كثيرة جدا وهي سجلات غير صحيحة هو المفروض انك تستخدم OR ...بما انه بعطيك سجلات غير صحيحة...تأكد من الشرط بجملة الــ WHERE ...وان لم يتم حل المشكله ارفق الجداول...بالتوفيق تقديم بلاغ
بتاريخ: 7 أغسطس 200916 سنة كاتب الموضوع comment_165776 احمد انا متأكد من الكود وحتى لما اطبق الاستعلام على sql plus شغال تمام شيء غريب فعلاغدا سأرفق الجدول والتقرير لانه بقي في المكتب شكرا شكرا لاهتمامك وكثر الله من امثالك كلو من اصلك الطيب يا طيب تقديم بلاغ
بتاريخ: 7 أغسطس 200916 سنة comment_165794 اخي العزيز انا حسب ما فهمت انك كاتب جملة استعلام وبها اكثر من شرط والمشكلة لديك انك تريد في كل مرة تنفيذ شرط ما واهمال الآخر مثلا او مرة اجيب التقرير بالإعتماد على رقم الموظف وثاني مرة بدي اجيب التقرير عن طريق تاريخ ما اذا كان هذا هو المطلوب يجب عليك استخدام عبارة LIKE بدل المساواه = بعد ذلك قم بإعطاء قيمة افتراضية لكل البراميتر لديك بقيمة %وفي هذه الحالة لو قمت بإستدعاء التقرير واخترت رقم الموظف سيقوم بتعويض رقم الموضف بدل قيمة % وإبقاء البراميتر الاخرى على نفس القيمة وهي %وفي هذه الحالة سيعمل التقرير بشكل سليم ولو قمت بطلب التقرير عن طريق التاريخ سيتم استبدال قيمة براميتر التقرير بالتاريخ المحدد وإبقاء البقية على نفس القيمة وهي % وفي هذه الحالة سيعمل التقرير ايضا ارجو ان اكون قد فهمت المطلوب بشكل سليم لتكون اجابتي شافية تقديم بلاغ
بتاريخ: 8 أغسطس 200916 سنة كاتب الموضوع comment_165819 اخي jadquraan ساحاول في طريقتك الجدول : CREATE TABLE LEAVE( LEAVE_ID NUMBER(10), LEAVE_EMP_ID NUMBER(10), LEAVE_DATE DATE, LEAVE_REASON VARCHAR2(100 BYTE), LEAVE_TEMPLATE NUMBER(1), LEAVE_TIME_FROM NUMBER, LEAVE_TIME_TO NUMBER, LEAVE_RETURN_TIME NUMBER, LEAVE_DATE_ORIGINAL DATE, LEAVE_TIME_TOTAL VARCHAR2(100 BYTE)) تقديم بلاغ
بتاريخ: 8 أغسطس 200916 سنة comment_165821 السلام عليكماخي ماهر..عملتلك تقرير على اساس 3 PARAMETERSرقم المغادرة ورقم الموظف وتاريخ المغادرة باستخدام WHERE...استفيد من التقرير لبناء يقية التقارير...بالتوفيق TEST.rar تقديم بلاغ
بتاريخ: 8 أغسطس 200916 سنة كاتب الموضوع comment_165827 مشكور اخي احمد ساجربه الان وارد لك خبر تقديم بلاغ
بتاريخ: 8 أغسطس 200916 سنة comment_165830 اخي العزيز انا حسب ما فهمت انك كاتب جملة استعلام وبها اكثر من شرط والمشكلة لديك انك تريد في كل مرة تنفيذ شرط ما واهمال الآخر مثلا او مرة اجيب التقرير بالإعتماد على رقم الموظف وثاني مرة بدي اجيب التقرير عن طريق تاريخ ما اذا كان هذا هو المطلوب يجب عليك استخدام عبارة LIKE بدل المساواه = بعد ذلك قم بإعطاء قيمة افتراضية لكل البراميتر لديك بقيمة %وفي هذه الحالة لو قمت بإستدعاء التقرير واخترت رقم الموظف سيقوم بتعويض رقم الموضف بدل قيمة % وإبقاء البراميتر الاخرى على نفس القيمة وهي %وفي هذه الحالة سيعمل التقرير بشكل سليم ولو قمت بطلب التقرير عن طريق التاريخ سيتم استبدال قيمة براميتر التقرير بالتاريخ المحدد وإبقاء البقية على نفس القيمة وهي % وفي هذه الحالة سيعمل التقرير ايضا ارجو ان اكون قد فهمت المطلوب بشكل سليم لتكون اجابتي شافية السلام عليكمأخي جاد...ممكن ازا ما فيها غلبة تعمل تقرير بسيط على الفكرة اللي طرحتها...متلا على جدول الــ emp بحث تكون البراميترز رقم الموظف والراتب...او كتابة جملة استعلام باستخدام like ...لاني حاولت اني اعملها ما اشتغلت معي...وشكرا مقدماً... تم تعديل 8 أغسطس 200916 سنة بواسطة PALI.ORACLE تقديم بلاغ
بتاريخ: 8 أغسطس 200916 سنة comment_165869 اخي العزيز هذا مثال على الطريقة التي اعنيها طبعا كما فهمت سؤالكمهذا المثال يعمل على scott على جدول emp exm.rar تم تعديل 8 أغسطس 200916 سنة بواسطة jadquraan تقديم بلاغ
بتاريخ: 8 أغسطس 200916 سنة comment_165881 اخي العزيز هذا مثال على الطريقة التي اعنيها طبعا كما فهمت سؤالكمهذا المثال يعمل على scott على جدول emp مشكور اخي جاد..جاري التجربة.. تقديم بلاغ
بتاريخ: 9 أغسطس 200916 سنة كاتب الموضوع comment_165970 اخواني احمد و jadquraan مشكورينلكن ولا طريقة من طرقكم زبطت معيومازالت المشكلة قائمة حيث المشكلة ليست عند عمل الاستعلام داخل التقرير ببيانات الجداول لوحدة وانما عند عمل ربط العلاقات مع الجداول الاخرى هنا المشكلةيعني لما استعلم بالجدول لحاله مافي مشكلة عاديولكن لما اضيف الربط :FROM LEAVE,EMPLOYEES,JOBS,DEPARTMENTSwhereEMPLOYEES.EMP_ID=LEAVE.LEAVE_EMP_ID ANDemployees.job_id=jobs.job_idand employees.emp_dept_id=departments.dept_id ANDLEAVE.LEAVE_ID=_EMP_ID ANDهنا المشكلة ؟؟؟ تقديم بلاغ
بتاريخ: 9 أغسطس 200916 سنة comment_165979 السلام عليكماكنب الــ 4 جداول وساحاول حل المشكلة باذن الله...تحياتي... تقديم بلاغ
بتاريخ: 10 أغسطس 200916 سنة كاتب الموضوع comment_166007 مرفق الجداول : ملاحظة : ارفقت الجداول بطريقة مختصرة بمضمون التقرير فقط----------------------------------------------------------------جدول بيانات الموظفينCREATE TABLE EMPLOYEES( primary key EMP_ID NUMBER(10), F_NAME VARCHAR2(30 BYTE), S_NAME VARCHAR2(30 BYTE), T_NAME VARCHAR2(30 BYTE), L_NAME VARCHAR2(30 BYTforeign key EMP_DEPT_ID NUMBER(10), JOB_ID NUMBER(10), foreign key ---------------------------------------------------------------جدول الاداراتCREATE TABLE DEPARTMENTS(primary key DEPT_ID NUMBER(10), DEPT_NAME VARCHAR2(50 BYTE),----------------------------------------------------------------جدول الوظائف CREATE TABLE JOB_HISTORY(foregin key EMP_ID NUMBER(10), START_DATE DATE, END_DATE DATE, JOB_ID NUMBER(10),primary key --------------------------------------------------------------------جدول الاستئذان CREATE TABLE LEAVE(primary key LEAVE_ID NUMBER(10),foregin key LEAVE_EMP_ID NUMBER(10), LEAVE_DATE DATE, LEAVE_REASON VARCHAR2(100 BYTE), LEAVE_TEMPLATE NUMBER(1), LEAVE_TIME_FROM NUMBER, LEAVE_TIME_TO NUMBER, LEAVE_RETURN_TIME NUMBER, LEAVE_DATE_ORIGINAL DATE, LEAVE_TIME_TOTAL VARCHAR2(100 BYTE), ENTRY_ID NUMBER(10))--------------------------------------------------------------------- تقديم بلاغ
بتاريخ: 10 أغسطس 200916 سنة comment_166013 السلام عليكماخي ماهر...ممكن رفع الجداول على TXT FILE ??? تقديم بلاغ
بتاريخ: 10 أغسطس 200916 سنة comment_166035 السلام عليكماخي ماهر...جرب هذا التقرير وان شاءالله بيشتغل معاك...بالتوفيق REPORT.rar تقديم بلاغ
بتاريخ: 10 أغسطس 200916 سنة كاتب الموضوع comment_166041 مشكور اخي احمد قيد التجريب ساقوم ببناء تقرير بنفس الهيكلة وتجريبه شكرا لك كثيرا تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.