الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مناداة بيانات معينة

مغلق
بدأه diome في 23 أغسطس 2004 · 5 رد · 640 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله و بركاته

أنا باشتغل على ال FORMS6i و عندس عدة جداول مرتبطة بجدول المستخدمين.

المفروض انه يتم استدعاء الrecords التابعة لهذا المستخدم من هذه الجداول.

و كما هو معروف عن الطريقة التقليدية المتبعة للمناداة على محتويات الجدول هي كالتالي:

execute_query;

لكن هذه الطريقة بتجيب كل اللي في الجدول.. حاولت استخدام طرق أخرى لتلبية احتياجي و هي:

enter_query(my_value);

و:

ecexute_query(my_value);

و أيضا

:block.item := my_value;

execute_query;

لكن بدون جدوى..

جا على بالي طريقة ممكن تنفع, بس مرررررررة حتاخذ مجهود ووقت طويلين. و هي باستخدام ال refrence cursor لكل جدول, و من ثم

مساواة الحقول المعروضة في الفورم مع الحقول التي تم استرجاعها.

إذا في طريقة أخرى للمناداة على البيانات المطلوبة للشخص المطلوب, رجاءا مساعدتي بها.

شكرا

#2

السلام عليكم

أخي الكريم إذا كانت جداولك مرتبطة بجدول مستخدمين فهذا يعني أنه يوجد في كل جدول من جداولك حقل يحوي رقم المستخدم.

يمكنك عرض السجلات التي تخص مستخدم معين عن طريق اضافة شرط على البلوك من خلال خصائصه، وذلك عن طريق الخاصية where

والسلام

#3

اخي الكريم لقد جربت بالسيلكت و where

لكن لم تنجح المحاولة

هل هناك طريقة محددة

#4

يوجد طريقتان

1- عند اضافة البلوك الثاني تحدد العلاقة بينهما في شاشة انشاء البلك.

2- بعد اضافة البلك الثاني تذهب الى البلك الرئيسي وتختار علاقات ( relations) ثم تحدد الحقل من البلك الثاني مع الذي يساوية من البلك الرئيسي.

#5

السلام عليكم

قم بإرسال بنية الجداول المطلوبة والفورم الذي به المشكلة

والسلام

#6

اخيرا تخلصت من هذه المشكلة لكن برزت امامي مشكلة أخرى !!

عندي عدد من الفورمز, و عدد من الجداول اللي مرتبطة ببعض كالتالي:

1. C

C ID PK

2. R

E_ID PK

C_ID FK

3. B

B_ID PK

4. B_C

ID PK

C_ID FK

ET_ID FK

B_ID FK

و يوجد من أمثال الجداول 3 و 4 كمان 9 غيرهم. مرتبطين بنفس الطريقة.

و عندي في وحدة من الفورمز TAB PAGE بها كل هالجداول, المفروض اني أطلع ال RECORDS اللي مرتبطة بالجدولين 1 و 2 من جميع العشرة جداول الثانية.

الطريقة المفروض انها تكون متبعة في الحالات العادية هي اني أحط قيمة ال C_ID في خصائص الجداول الأخرى ضمن خاصية ال WHERE CLAUSE. بس الحالة المعروضة هنا حالة جدا معقدة و ما أعتقد انها راح تمشي صح.

الفكرة اللي جت على بالي هو استخدام REFRENCE CURSOR عشان انادي الريكوردز المطلوبة, بس هذه الطريقة حتتطلب الكثير من الجهد و الوقت ( مع ملاحظة انه الوقت

كالسيف في حالتي اذا ما قطعته, قطعني هو و شرب من دمي!)

إذا في أي طريقة ثانية ماتاخذ هالجهد و الوقت كله, الرجاء اعلامي به, لأني في أشد الحاجة اليه

مع جزيل شكري لنصائحكم

هذا الموضوع مغلق.

مواضيع مشابهة