masmas بتاريخ: 28 مارس 2013 تقديم بلاغ مشاركة بتاريخ: 28 مارس 2013 السلام عليكم ورحمة الله وبركاته،،لدي يوزر مرتبات ولنفترض اسمه P وعدد 2 يوزر حسابات ولنفترض acc1,acc2، ولدي شركتين في يوزر المرتبات شركة 1 وشركة 2عند انشاء شركة 1 من يوزر المرتبات تم اضافة حقل عبارة عن اسم اليوزر ليتم بعد ذلك اظهار الحسابات الخاصة باليوزر المربوط به ولفترض انه تم ربطه acc1 ، وربط شركة 2 من يوزر المرتبات بحسابات يوزر acc2ولنفترض ان اسم الجدول للحسابات لكل منهما acc_masterلاحظوا معي اريد الحل بشكل عام لأنه من الممكن ان تتغير اسماء ايوزرات للحسابات:شاشة ربط الحسابات بالمرتبات واحدة حيث انني اريد عمل record group ليظهر اسماء الحسابات الخاصة باليوزر لكل شركة منهما على حدهبمعنى عند فتح شاشة ربط الحسابات يظهر لدي اسم الشركة وليكن شركة 1 بعد ذلك يتم الذهاب الى كود الحساب عند الضغط على F9 اريد يظهر فقط اسماء الحسابات الخاصة والموجودة في اليوزر acc1 وهكذا في الشركة 2 تظهر الحسابات في يوزر acc2كيف اقوم بتغيير اسم يوزر الحسابات في كل مرة في record groupselect acc_no from ACC.acc_masterارجو ان المعلومة وصلتودمتم اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
masmas بتاريخ: 28 مارس 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 28 مارس 2013 ارجو الرد لمن لديه الخبرةاو وضع حل آخر اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
jamal_rrkk بتاريخ: 28 مارس 2013 تقديم بلاغ مشاركة بتاريخ: 28 مارس 2013 السلام عليكم ورحمة الله وبركاتهاخي الكريم1_قم بوضع رقم اليوزر في متغير في شاشة الدخول حتي يتم نقله إلى الشاشة الرئيسيةكما يلي على سبيل المثالWHEN-BUTTON-PRESSEDdeclarenumc number(3);nam varchar2(150); vcount number(1);beginselect count(numc) into vcountfrom compny where numc = :numc and usr = :usr and pass = :pass ;IF :numc > 0 and vcount = 1 thenselect numc , nam into :global.numc , :global.nam from compny where numc = :numc; call_form(getpath||'main');exit_form;elsif :numc = 0 and vcount = 1 thencall_form(getpath||'compny');exit_form;elseMESSAGE('íæÌÏ ÎØà Ýí ÅÏÎÇá ÑãÒ ÇáÏÎæá Ãæ ßáãÉ ÇáÓÑ');MESSAGE('íæÌÏ ÎØà Ýí ÅÏÎÇá ÑãÒ ÇáÏÎæá Ãæ ßáãÉ ÇáÓÑ');RAISE Form_Trigger_Failure; end if; end ;2_في الشاشة الرئيسية يكون الكودWHEN-NEW-FORM-INSTANCEdeclarebegin:title.titl := :global.nam ;:title.numc := :global.numc ;end;3_في Record Group يتم ربط الكود برقم المستخدم كما يليSELECT ALL ACT.AC_NUM, ACT.AC_NAMFROM ACTWHERE ACT.NUMC=:TITLE.NUMC AND ACT.AC_NUM >100000000 ORDER BY ACT.AC_NUM4_على مستوى الفورم يتم إلغاء عمل المفتاح رقم 8 وهو مسح الكل حتى لا يتم مسح قيمة المتغيرKEY-CLRFRMNULL ;جزاك الله كل خير اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
masmas بتاريخ: 30 مارس 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 30 مارس 2013 اخي العزيز جمال اريد ان اوضح لك ان قصدي من اليوزر الحسابات ليس عبارة عن حقل تم اضافته في جدول المستخدمينقصدي من اليوزر هي الاسكيما نفسهاحيث ان جدول الحسابات وليكن مثلا acc_file موجود في كلا من الاسكيما acc1 و acc2الآن كيف من الممكن ان اضيف الاسكيما كبراميتر في جملة الاستعلام الخاصة بـ formبمعنى select acc_no from ACC.acc_file اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
masmas بتاريخ: 30 مارس 2013 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 30 مارس 2013 اين المشرفين برجاء الرد. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
jamal_rrkk بتاريخ: 31 مارس 2013 تقديم بلاغ مشاركة بتاريخ: 31 مارس 2013 السلام عليكم ورحمة الله وبركاتهاخي الكريمجرب استخدام الكود التاليDECLAREUSER_NAME VARCHAR2(50);PASS_WORD VARCHAR2(50);CONN_STRG VARCHAR2(50);BEGINUSER_NAME := GET_APPLICATION_PROPERTY(USERNAME); PASS_WORD := GET_APPLICATION_PROPERTY(PASSWORD);CONN_STRG := GET_APPLICATION_PROPERTY(CONNECT_STRING);IF USER_NAME = 'FFF1' THEN Host('EXP '||USER_NAME||'/'||PASS_WORD||'@'||CONN_STRG||' '||'FILE='||getpath||'copydata\'||USER_NAME||to_char(sysdate,'DD-MM-YYYY')||'.DMP'||' '||'OWNER='||USER_NAME||' '||'LOG='||getpath||'copydata\'||USER_NAME||to_char(sysdate,'DD-MM-YYYY')||'.TXT');END IF ;END ;جزاك الله كل خير اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.