الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Multi Rows Data Block

Featured Replies

بتاريخ:

السلام عليكم..

عندي table اسمه projects فيه بيانات البروجكتس .. بستخدم ال coulmns
(prj_num ,parent_prj) في ال SQL Query بترجع ال Childs لكل بروجكت


select lpad(' ',2*(level-1)) || to_char(prj_NUM)
from Projects
start with PARENT_prj =:master_block.prj_num
connect by prior prj_NUM = PARENT_prj)


السؤال: أنا بشتغل على الفورم وعاوزه أطلع ال results في data block علشان أعرضها على ال screen.
كيف ممكن أخلي ال results يطلعو في data block يتحمل multi records ؟؟

أنا عملت creation ل data block (block146) 1 وحطيت فيه Item4 وخليته tabular علشان أعرض فيه كل الresults وخليته from clause query ,وحطيت

select lpad(' ',2*(level-1)) || to_char(prj_NUM) into :BLOCK146.item4 from Projects start with PARENT_prj = :master_block.prj_num connect by prior prj_NUM = PARENT_prj; في Query Data Source Name
بس لقيت مشاكل وماعرضلي results وبيطلعلي بال run مشكله block146 must have at least one primary key

ازا ممكن أي حد عنده خبره في الموضوع يساعدني فيه...

بتاريخ:

مرحبا أخت نادية

مشكلتك بسيطه بإذن الله

في أكثر من طريقه لحلها
الأولى اذا كان datablock مربوط مع database يمكن انك تضعي الشرط في where clause property
والطريقه الثانية اذا كان datablock غير مربوط مع database فبالإمكان استخدام الـ cursor

واذا احتجتي لأي مساعده فهذه ايميلاتي
[email protected]
[email protected]

بتاريخ:
  • كاتب الموضوع

ال block غير مربوط بال data base وحاولت استخدم cursor بس ماعرفت في اي مكان يجب وضعه
أنا عاوزه لما ال user يسوي query تطلع ال results من ال query في ال data block

انا وضعت ال cursor فيpost query لل master block بس طلعلي erros في ال run منها

Illegal restricted procedure next_record in post-query trigger

وهاد ال cursor اللي استخدمتو

declare cursor C1 is select lpad(' ',2*(level-1)) || to_char(prj_NUM)
from projetcs
start with PARENT_prj= :master_block.prj_NUM
connect by prior prj_NUM = PARENT_prj;

Begin
open C1;
loop
fetch C1 into :BLOCK149.prj;
exit when C1%notfound;
next_record;
end loop;
close C1;
first_record;
end;

بتاريخ:

مرحبا
هذا الكود الصحيح واكتبيه داخل التريجر على مستوى الفورم الذي اسمه key-exeqry

declare cursor C1 is select lpad(' ',2*(level-1)) || to_char(prj_NUM) 
from projetcs start with PARENT_prj= :master_block.prj_NUM
connect by prior prj_NUM = PARENT_prj;
Begin execute_query;
open C1;
go_item('BLOCK149.prj');
loop
fetch C1 into :BLOCK149.prj; exit when C1%notfound;
next_record;
end loop;
close C1;
first_record;
end;


ثم بعد ذلك
يجب انشاء ما يلي على مستوى الفورم
on-error trigger ويكتب بداخله كلمة null;
on-message trigger ويكتب بداخله كلمة null;



وعلى فكرة أنا نسيت أعرف بنفسي بالبداية
انا عامر من السعودية

بتاريخ:
  • كاتب الموضوع

شكرا جزيلا أخ عامر على المساعده...

حطيت ال cursor على مستوى الفورم في key-exeqry بس هناك عدة مشاكل منها:

ال query تصير لاول record فقط ويظهر ال childs في لبلوك بس لما انتقل الى next record لبروجكت آخر معلومات البروجكت الاول تبقى في البلوك ومايصير excute لل childs لل records اللي بعدها ... كيف يمكن حل هذه المشكله؟


والمشكله الثانيه انه الحين مانقدر نسوي search على ريكورد معين لانه لما نضغط زر ال search وبعدين نضغط زر ال excute query بينفذ ال cursor ومابيسوي سيرش على ال record !!

:D :lol:

بتاريخ:

مرحبا

أنا أعطيتك الحل بناءا على ال cursor اللي بعثتيه

لكن لماذا لا يكون ال datablock مربوط مع ال database وبهذه الطريقه ما في داعي تغلبي نفسك بال cursor

على العموم

ابعثي لي الشاشه والجداول وأنا راح أحل لك كل المشاكل وأبعثها الك مره ثانية جاهزة

بتاريخ:

مرحبا
لقد اتطلعت على الملف الذي أرسلته لي ولاحظت ما يلي

proj_num نوعه number وparent_prj نوعه varchar2
يجب أن يكونا من نفس النوع وبالتالي بإمكانك ربط الداتابلوك مع قاعدة البيانات
وقومي بانشاء العلاقه التالية بين الداتا بلوك الأول والداتا بلوك الثاني

parent_prj=proj_num

وريحي حالك من الcursor

واذا ما زبطت معك ابعثي لي الفورم أساعدك فيه مع جملة الcreate للجدول

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.