بتاريخ: 17 أغسطس 200817 سنة comment_136220 الاخوة الافاضل انا استخدم اوراكل 10g واريد عمل تقرير بين تاريخين ( تاريخ بداية وتاريخ نهاية )صراحه تعبت ولم استطع ان استدعي باراميترات من الفورمولم اجد اي مشاركة واضحة لهذا الموضوعارجووووووووووووكم برنامجي متوقف على هذا التقرير تقديم بلاغ
بتاريخ: 17 أغسطس 200817 سنة comment_136221 declare pl_id ParamList; BEGIN pl_id := Get_Parameter_List('tmpdata'); IF NOT Id_Null(pl_id) THEN Destroy_Parameter_List( pl_id ); END IF; pl_id := Create_Parameter_List('tmpdata'); Add_Parameter(pl_id, 'PARAMFORM', TEXT_PARAMETER, 'NO'); Add_Parameter(pl_id, 'COPIES', TEXT_PARAMETER, '1'); Add_Parameter(pl_id, 'start_date', TEXT_PARAMETER, to_char(<:start_date_in_form>,'DD/MM/YYYY')); Add_Parameter(pl_id, 'end_edate', TEXT_PARAMETER, to_char(<:end_date_in_form>,'DD/MM/YYYY')); Add_Parameter(pl_id, 'branch_code', TEXT_PARAMETER, :branches_list); Add_Parameter(pl_id, 'ORACLE_SHUTDOWN', TEXT_PARAMETER, 'YES'); Run_Product(REPORTS, '<path\yourreportname>', SYNCHRONOUS, RUNTIME, FILESYSTEM, pl_id, NULL); end; تقديم بلاغ
بتاريخ: 17 أغسطس 200817 سنة كاتب الموضوع comment_136227 اخوي الفاضل Shibeika اتمنى ان تشرح ماكتبت خطوة خطوة من بداية عمل التقرير وانتهاء بالفورم -------- اذا تكرمت واشكرك جزيل الشكر تقديم بلاغ
بتاريخ: 17 أغسطس 200817 سنة comment_136237 السلام عليكم نشغل الريبورت ونفتح الكويري ونكتب الآتي :1/ نفترض ان الكولمن الموجود في الداتا بيز هوAction_date ثم بعد جملة سليكت نكتب:where action_date=nvl(:اي اسم برامتر للكولمن ده ,(:startdate,action_date)action_date=nvl(:startdate,actiondate)ولو اردنا نعمل اكتر من برامتر نعمل وبعد منخلص الكلام ده كله في الريبورت نروح للخطوة 2----------------------------------------------------------------------------------------------- نفتح فورمة جديدة1/ نعمل تيكست ونسميه على نفس البرامتر اللي عملناه في الريبورت ومنعملش اي تغيير في الخصائص التابعة له نهائيا.2/ نعمل كود الريبورت وكلنا عارفين ازاي ونيجي نضيف set_report_object('paraform=no startdate='||:action_date)وهكذا لأي برامتر تاني وبالتوفيق ان شاء الله تقديم بلاغ
بتاريخ: 17 أغسطس 200817 سنة comment_136238 where action_date=nvl(:startdate,action_date)----------------------------------------------------------set_report_object('paraform=no startdate='||:action_date) تقديم بلاغ
بتاريخ: 17 أغسطس 200817 سنة كاتب الموضوع comment_136252 اخوي malam_eldin اشكرك على اهتمامك بالموضوعارجوك وضح لي اكثر ترى الامور ملخبطة معاي ارجو ان يكون الشرح على الجدول emp حتى تصل الفكره افضلوعفوا على الازعاج تقديم بلاغ
بتاريخ: 17 أغسطس 200817 سنة comment_136263 يا اخوان انا اواجه نفس المشاكل التي تواجهها الاخت ماجدوليننرجو التوضيح بمثال على الـ EMPلاني حاولت انفذ الشرح ولكن بدون فائدة تقديم بلاغ
بتاريخ: 17 أغسطس 200817 سنة comment_136276 لضغط العمل معاي سوف ارسلها لكم غدا باذن الله بالصور والايضاح التفصيلي . ودي نفس المشكله مريت بيها من فترة وتم حلها تقديم بلاغ
بتاريخ: 17 أغسطس 200817 سنة comment_136288 وياريت يأختي ان توضحي برنامجك اكثر وماهو الذي تريدين عمله بالظبط تقديم بلاغ
بتاريخ: 18 أغسطس 200817 سنة كاتب الموضوع comment_136321 اشكرك اخي على تفاعلك واهتمامك بالموضوعبرنامجي هو - برنامج مستشفى واللي ابيه هو - تقرير يوضح اسماء المرضى الذي تم معالجتهم خلال فتره معينةانا منتظره منك الرد تقديم بلاغ
بتاريخ: 18 أغسطس 200817 سنة comment_136399 بسم الله الرحمن الرحيموبه نستعينوالصلاة والسلام على افضل خلق الله سيدنا محمد صلى الله عليه وسلم• كيفية عمل برامترات تقرأ من الداتا بيز في الريبورت؟. Open Reports Builderعند عمل تقرير نقوم يإضافة الكولمنز له سواء كانت بالطريقة الوزارد او المنوال وعند الانتهاء منه نفعل الاتي: نذهب الى : Object navigatorQueriesQ_1 then press F4 then SQL QUERY STATEMANT . بعد جملة سيلكت نكتب Where action_date BETWEEN nvl(:Start_date,action_date) ANDnvl(:End_date,action_date) AND (وده عشان ادخل تاريخين ) last_name=nvl(:name,item_name) action_date=nvl(:date,action_date)(ده عشلن ادخل تاريخ واحد بسسسسسس)ولازم يكون فيه كولمن اسمه Action_date في الداتا بيزونفس الطريقة لو عليز تعمل اي برامتر تاني يقرا اسم فاركار او نمبر او تاريخColumn1=nvl(:any name, column1)andColumn2=nvl (any name, column2)and......كما في الصورة 1-1 مع الملف المرفقوبعد كده اعمل رن للبرنامج على الريبورت .• كيفية عمل برامترات تقرأ الريبورت (البرامترات) في الفورمز ؟ياريت نركز كويس جداااااااااااااااااااااااا في الخطوات اللي جايةبعد عمل الريبورت والبرامترات نفتح الفورمز ونعمل الاتي:1. نضيف لكل برامتر عملناه في الريبورت تيكست واحد . ونفتح البروبيرتي باليت لكل تيكست.2. نغير اسم التيكست لأي اسم تاني Name : start_date 3. نغيراسم البرومبت بس . اسم المريض Prompt:4. مثال توضيحي في الصورة 2-1 مع الملف المرفقياريت نركز جامد جدااااااااااااااااااااا في الخطوة اللي جايه5.نكتب كود التقرير اللي هيشتغل ونعدل حاجة واحدة بس وهي:SET_REPORT_OBJECT_PROPERTY(repid,REPORT_OTHER,'paramform=no ID='||:ID||' date='||:s||' end_date='||:e||' START_DATE='||:s2||' CUSTom='''||:CUSTom||''''||' item='''|| :item||'''')ملاحظات :• لما اجي اكتب اسم البرامتر اللي تعمل في الريبورت لازم يتكتب بالطريقة دي ||' مسافة واسم البرامتر و='|| مثال||' date='||:s*لو عندي برامتر وانا في الرن تايم عايز اكتب جواه فاركار كده كده مش هيجيب اي حاجة وعلاجها اهو كمثال :||' CUSTom='''||:CUSTom||''''||' item='''|| :item||'''')||' اسم البرامتر='"||: اسم التيكست التابع له||'''' انظر الصورة 3-1 مع الملف المرفقولو حبيت تعمل LOV لكل تيكست مش هتفرق ____________________________________________________________..doc تقديم بلاغ
بتاريخ: 19 أغسطس 200817 سنة كاتب الموضوع comment_136445 اشكرك على مجهودك وشرحك الرااائعبس ارجو ان تستحملني لاني ربما اتوقف في مشكلة بسيطة جدا هي عندك من الاساسياتلديا مشاكل بسيطة :اولا بالنسبة للشرح يلي في الريبورت كويس جدا وفاهمته من خلال شرحكطيب بالنسبة للفورم لديا استفسار ماذا تقصد بـ Repid ,Report_other ثانيا S,E هل تقصد بهم اسماء التكستثالثا StartDate ,EndDate ماذا يعنوا هنا هل اسماء الحقول في الداتابيز ام في الريبورتيمكنك فتح الملف المرفق وتشوف ماهي الاخطاء التي تواجهنيoracle_Rep.doc تقديم بلاغ
بتاريخ: 19 أغسطس 200817 سنة comment_136476 اولا / بالنسبة ل START_DATE , END_DATEاسماء للبرامترات اللي عملناها في الريبورت-------------------------------------------------------------------------------------------ثانيا/ s,eاسماء للتيكست فعلا على حسب الآسماء اللي عايزه تسميها عشان لما تيجي تربطيها في الكود بتاع الريبورت في الفورمه لازم يكون عارف ده بتاع ايه ومع مين-------------------------------------------------------------------------------------------ثالثا/الكود SELECT Clinic.NO, CLINIC. NAME, CLINIC.DateVisit FROM CLINIC WHERE DATEVISIT BETWEEN NVL(:START_DATE,DATEVISIT AND NVL (:END_DATE,DATEVISIT))** الكود ده صح جدا بالنسبة للتاريخين في الريبورت وبكده انت تكوني عملتي برامترين للتاريخين--------------------------------------------------------------------------------------------------------رابعا/ لما اجي الكود لاستدعاء الريبورت عن طريق زرار مثلا بيكون فيه محتوى من الاكواد من ضمنها اللي جاي دهSET_REPORT_OBJECT_PROPERTY(repid,'paraform=no datevisit'||:a||'datevisit'||:s))ده كده بالنسبالك صحيح ركزي كويس في اللي جاي** اي برامتر عملتيه في الريبورت وهتسدعيه على الفورم ممكن يكون من الثلاثة الجايين:1/ برامتر التاريخ او النمبر يتكتب عادي زي المثال اللي فوق لو تلاحظي عملت الديت فيزيت مع اسم التيكست ولازم تاخدي بالك كويس جدا من علامات التنصيص لانها مككن تعمل مشاكل ومتشغلش الريبورت في الرن تايم**برامتر الفاركار (اللي هيتكتب جواه حروف زي اسم موظف بالكامل مثلا او اسم عميل ) لازم تاخدي بالك من علامات التنصيص كويس جداااا وهقول كده لحد السنة اللي جايه لانها مهمةةةةةةةةة جداااااااااااااااااااا وهقول مثال توضيحي على اسم الموظف نعملو زي من الأول:-- هعمل برامتر لأسم الموظف(فار كار حروووووووففففف) في الكويري على الريبورتemp_name=nvl(:name,emp_name)وده بعد جمله هوير--اجي على الفورم وبالتحديد جوه كود الريبورت هلاقي SET_REPORT_OBJECT_PROPERTY(repidوهكمل الباقي SET_REPORT_OBJECT_PROPERTY(repid,'paraform=no name='''||:txt||'''')ملاحظة مهمة جدالما اكتب اسم البرامتر(لاسم الموظف فار كار ) وبعد علامة يساوي هكتب ثلاث علامات تنصيص '''و||: واسم التيكست و|| اربع علامات تنصيص عشان تقفل الجملة '''' وبعدين اقفل الجمله بالقوس)وبالتوفيق للجميعالكود اللي كتباه اصلا ناقص كتير جدا بس انا مرفق ملف وورد فيه شرح ازاي تعمل كود ريبورت من الاول Run_Report_from_Forms.doc تم تعديل 19 أغسطس 200817 سنة بواسطة malam_eldin تقديم بلاغ
بتاريخ: 19 أغسطس 200817 سنة كاتب الموضوع comment_136488 اشكرك اشكرك من كل قلبيصراحة استاذ بمعنى الكلمةتوي قرأت ردك الان وما جربت الكود اللي كتبتلكن من خلال ما قرأت انا مطمئنة جدا باني سأنجح هذه المره في استدعاء الريبورت ترى لو ما ينفذ معايا مش عارفه ايش اعمل - استحي ان اخبرك مره ثانيةبا اجرب واشوف -- يصير خير ان شاء اللهاكرر شكري لك تقديم بلاغ
بتاريخ: 19 أغسطس 200817 سنة comment_136509 العفو العفو العفوالمهم تجربيه وتخبريني بالنتائج ولو في اي شي تاني انا موجود ياجماعة تقديم بلاغ
بتاريخ: 20 أغسطس 200817 سنة كاتب الموضوع comment_136548 تسلمالله يخليك --اشكرك على هذه الاخلاق الرفيعةان شاء الله اجربه واكلمك ------- تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.