الانتقال إلى المحتوى
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.

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

Featured Replies

بتاريخ:

الإخوة الأعزاء

رجاء من عنده حل هذه المشكلة وهي أننى لدى شاشة ماستر ديتال وأريد نقل البانات الموجودة بها الى شاشة أخرى وتم بالفعل نقل بعض البيانات ولكن فى الـ Detail يوجد أكثر من صف ولكن عند الترحيل للشاشة الأخري يتم نقل صف واحد فقط.

لقد قمت بعمل زر فى الشاشة المراد نقل البيانات منها الي الشاشة الأخرى وكتبت فيه الكود التالي
:global.SLS_DATE:=:SALES_MAST2.SLS_DATE2;التاريخ
:global.cust_id := :SLS_CUSTUMER_ID2 ;رقم العميل
:global.SLS_IT_NAME:= :SALES_DET2.SLS_IT_NAME2;إسم الصنف
:global.SLS_SERIAL:=:SALES_DET2.SLS_SERIAL2;مسلسل
open_form('sales.fmx',ACTIVATE,SESSION);الشاشة المراد نقل البيانات اليها

وهذا الكود فى الشاشة المراد نقل البيانات اليها
if :system.form_status <> 'NEW' THEN

default_value(null,'global.SLS_DATE');
default_value(null,'global.cust_id');
default_value(null,'global.SLS_IT_NAME');
default_value(null,'global.SLS_SERIAL');

:SALES_MAST.SLS_DATE := :global.SLS_DATE;التاريخ
:SALES_MAST.SLS_CUSTUMER_ID := :global.cust_id;رقم العميل
:SALES_DET.SLS_IT_NAME := :global.SLS_IT_NAME;إسم الصنف
:SALES_DET.SLS_SERIAL := :global.SLS_SERIAL;مسلسل

END IF;

لوحط أن التاريخ ورقم العميل يتم نقلهم ولكن فى خانة الأصناف لا يتم إلا نقل صف واحد فقط بالرغم من وجود أكثر من صنف فى الشاشة المراد نقل البيانات منها.

أرجومن لديه حل هذه المشكلة نظراً لقرب تسليم المشروع وجزاكم الله كل خير

بتاريخ:

السلام عليكم
لنفترض انه لديك شاشة ماستر ديتيلز تمام ولديك فورمتين واحدة ماستر والاخرى هى التابعة ولديك عدد من الاصناف فمثلا لديك صنف فراخ وصنف برجر وصنف كولا وانت قد صممت الفورم التالية او التابعة للماستر على شكل جدول وتريد عند ضغط على صنف الفراخ يظهر اليك الصنف وهكذا فى باقى الاصناف ؛ فيجب ان تعلم ان لكل صنف فى الشاشة الماستر يجب ان يكون لها حقل فعلى موجود فى الشاشة التابعة للشاشة الماستر بمعنى ان يكون فى الشاشة الماستر 3 حقول واحد للفراخ وواحد للبرجر وواحد للكولا وكذلك فى الشاشة المصصمة على شكل جدول يجب ايضا ان يوجد 3 حقول واحد للفراخ وواحد للبرجر وواحد للكولا وذلك لانهم حقول داتا بيز تخزن فيها البيانات وتسترجعها عند التقارير ؛ كذلك ان لم تفعل ذلك ستجد مشكلة عند جمع اجمالي الاصناف اذن لكل صنف يجب ان يكون له حقلين فعليين فى الداتا بيز واحد ليدخل فيها البيانات عن طريق المستخدم وواحد ليتم فيه ترحيل البيانات
وشكرا
ميجا

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

الأخ خالد
يدبو أنك لم تفهم ما أقصده

أنا لدي عدد 2 فورمة وأريد نقل البيانات من إحداهما للأخرى
ماهو الحل إذا كان هناك أكثر من record لعنصر واحد فى الشاشة المراد نقل البيانات منها.

مع خالص التحية

بتاريخ:

بتعمل كورسر وابديت للعنصر الواحد
وشكرا

بتاريخ:

أخي انت قدامك حل من الاتنين
اما تنقل البيانات عن طريق البرامتر ليست
أو تعمل لووب وتنقل البانات بالطريقة بتاعتك بس دي فيها صعوبة لأنك بتنقل اكتر من قيمة في متغير global
أنا أنصحك بالبارمتر ليست ولو فيه مشكلة أنا في الخدمة
سلام يا مان <_<

بتاريخ:

أنا أرى أنه لو غيرنا الطريقة المتبعة لكان أفضل .. فهي طريقة صحيحة 100% ولكن عند استدعاء الفورم الجديد ضع الكود execute_query داخل الترجر when-new-form-instance وايضا اعطي الفيلد الذي سيتم الاستعلام بناء عليه قيمة تكون مخزنة في الجلوبال وهذا يكتب في pre-query كما يلي مثلا :
field := :global.value
وبذلك فأن البلوك في الفورم الجديد يجب أن يكون مبني على الديتيل في الفورم الأول كما ويجب التخزين قبل استدعاء الفورم الثاني

ايميلي [email protected]

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

الأخ الكريم رمضان
لو ممكن توضح طريقة عمل لوب فى هذه الحالة بمثال
ولك جزيل الشكر

بتاريخ:

declare
cursor any is
select a
from table
where b=d;
v number:=0;
begin
for i in a loop
:global.aa||v:=i.a;
v:=v+1 ;
end loop;
end ;

وبكدة انت عندك مجموعة من المتغيرات فيها كل البيانتات اللي عنك بس دي طريقة مش عملية المفروض انك تستخدم طريقة البرامتر ليست أفض وأنا في الخدمة وده اميلي

[email protected]
بتاريخ:

الاخ الكريم
طريقة نقل البيانات من فورم لآخر لايتم هكذا فهناك خطوات ومحددات تلزمنا الى استخدام عدة طرق ومع احترامي انت لم تحدد ما الهدف من عرض نقل البيانات من الفورم الاول الى الفورم التاني وهناك سؤال يطرح نفسه
هل الفورم الاول مربوط بقاعدة البيانات يعني البيانات تخزن على قاعدة البيانات اذا كان الجواب نعم فهناك حلان
الحل الاول اذا كانت الفورم الثانية هي فورم عرض ولاتستفيد منها الا بالعرض فقط فاستخدم ال execute query بحيث تربط الفورم الثانية على نفس الجدول

الحل الثاني هو اذا كان الفورم الثانية مربوطه بجدول آخر فهناك ايضا حل وهو بارسال رقم الصنف مثلا عن طريق ال global وعمل query في الفورم الثانية عن طريق بروسيجر وهذا البروسيجر يكون مبني على الكيرسر اما يضيف بالشاشة ويخزنها او يضيف بقاعدة البيانات ويعرض
البيان هذه الحلول المقترحة

وهناك حل آخر انه من نفس الفورم الاولى انك تضيف بيانات الفورم الاولى من الجدول التابع للفورم الاولى الى الجدول الثاني التابع للفورم الثاينة على اعتبار اختلاف الجداول ويكون العرض في الفورم الثانية هو عبارة عن طريقة استعلام وعرض عن طريق رقم الصنف الذي ارسلته عن طريق الجلوبال من الفورم الثانية الى الفورم الاولى

واذا كان الفورم غير مرتبط بقاعدة البيانات فيفضل عمل جدولين للفورم الاولى والفورم الثانية ووهذا اسهل واتباع الطرق المقترحة اعلاه

نرجو قبل طرح السؤال توضيح ماهو المراد من تنفيذه ليسهل الاجابة وان نلا ننتظر الاجابة لنوضح مانقصد به

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

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

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

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

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

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.