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

تغيير عدد الRecords

Featured Replies

بتاريخ:

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

سألني احد الاخوان عن كيفيه تغيير عدد الRecords في بلوك " ب " بناء على قيمه حقل ما في بلوك " أ "

وللتوضيح اكثر فلنفترض انه لدينا الجدولين التالين :-

Offices Table 

Name                            Null?    Type
------------------------------- -------- ----
BUILDING_NO                              VARCHAR2(30)
FLOOR_NO                                 VARCHAR2(30)
OFFICE_NO                                VARCHAR2(30)
COMP_TOTAL                               NUMBER(3)



 Computers Tables 

Name                            Null?    Type
------------------------------- -------- ----
COMP_NO                                  NUMBER(3)
OP_SYS                                   VARCHAR2(30)
MODEL_NO                                 VARCHAR2(30) 



في البلوك الاول جدول Offcies والبلوك الثاني جدول Computers , ويريد الاخ السائل ان يكون عدد

الRecords التى ستظهر في البلوك الثاني والذي به الجدول Computers مثل عدد مجموع

الكومبيوترات Comp_Total في جدول Offices , يعني لو عدد مجموع الكومبيوترات 5 مثلا

فسيصبح عدد الRecords في بلوك Records 5 Computers وهكذا .

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

وأسهل من الطريقه التى عملتها وشكرا للجميع .

عمر باعقيل
كندا - مونتريال
[email protected]

  • الردود 28
  • المشاهدات 7k
  • البداية
  • اخر رد

أكثر المشاركين في هذا الموضوع

بتاريخ:

السلام عليكم
شو رايك اخوي بهذا الحل

select * from computers  where count(*) = (select comp_total from offices);



شكرا

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

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

شكرا اخي zedan , المطلوب هو عمل فورم فيه 2 بلوك

البلوك الاول فيه جدول Offices والثاني جدول Computers

ويتم تغير عدد الRecords لبلوك Computers بناء على القيمه المدخله

للحقل Comp_Total والموجوده في بلوك Offices .

عمر باعقيل
كندا - مونتريال
[email protected]

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

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

مرفق مع هذه المشاركه ملف Records.zip , وبه فورم Records.fmx

وText file به جمل إنشاء جدولي Offices و Computers اسمه Tables.txt

اولا ننشي الجداول ومن ثم نشغل الفورم وحنشوف كيف سيتغير عدد الRecords

في بلوك Computers بناء على القيمه المدخله في حقل Computer Total .

انا محدد عدد الRecords يوصل الى 7 فقط لعدم وجود مكان في الشاشه , طبعا ممكن

عمل 10 و 20 Records أو اكثر لو لزم الامر .

عمر باعقيل
كندا - مونتريال
[email protected]

Records.zip

بتاريخ:

الاخ عمر انا شغلت الform ولكن عندما ندخل قيم ثم نحفظها في الجدول ثم مره اخر نعمل query لا تظهر اي قيم
لا ادري هل المشكله من عندي او اختلاف الversion ؟ ارجوا الإفاده

بتاريخ:

هلا اخي عمر
شكرا لطرحك الموضوع ولكن ضع الكود لنبدأ في التفكير
شكرا لك :rolleyes:
تمنياتي بالتوفيق

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

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

اخي خالد , الفورم مقصود به فقط امكانيه تغيير عدد الRecords للبلوك

والجدولين Offices و Computers مافي بينهم اي علاقه " انا تعمدت ذلك "

المهم هو انه عندما تضع مثلا 4 في حقل Computers Total سيصبح عدد الRecords في

بلوك 4Computers

شكرا أخي خالد لمرورك وملاحظاتك .

اخي black&white , انا ايضا تعمدت عدم ارسال الكود علشان الاخوان يحاولوا يجيبوا

فكره جديده غير الى انا استخدمتها وان شاء الله نلاقي اكثر من طريقه للوصول الى الحل

طبعا سأضع الكود قريبا ان شاء الله وشكرا على مرورك وملاحظاتك اخي black&white.

عمر باعقيل
كندا - مونتريال
[email protected]

بتاريخ:

فكره رائعه وحل اروع

بتاريخ:

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

بتاريخ:

يالك من رائع اخي black&white لقد وجدت الـtrick
منتظرين رائي الاخ عمر .

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

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

محاوله ممتازه اخي black&white :rolleyes:

هو الموضوع مش Trick بس فعلا نحتاج لعمل مثل هذه الطريقه بحيث يتغيير عدد الRecords

بناء على قيمه حقل اخر مثل باقي لغات البرمجه , وللاسف مش موجوده في الاوراكل بطريقه

مباشره لانه لايمكنك تغيير خاصيه Number of Records Displayed في الرن تايم

طيب الان انا عدلت شويه في الفورم علشان خاطر اخي black&white :)

وحنشوف حيظهر انه في بلوكات تتغير ولا لأ :)

عمر باعقيل
كندا - مونتريال
[email protected]

new_Records.zip

بتاريخ:

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

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

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

شكرا لك اخي black&white على ملاحظاتك واقتراحاتك , وياريت تعمل لنا فورم يقوم بعمل

ماقد قمت مشكورا بشرحه , كمان ياريت الاخوان والاخوات الاعضاء يشاركونا ويحاولوا معنا

في إنشاء فورم يقوم بعمل ماذكرنا سابقا

عمر باعقيل
كندا - مونتريال
[email protected]

بتاريخ:

السلام عليكم
أولا شكرا لك أخي عمر على إثارة هذا الموضوع فعلا هذه الخاصية ليست موجودة في الأوراكل ، وانا مع الأخ black&white لكن ممكن تكون مش بلوكات مخفية ولكن حقول مخفية :) وفي نفس البلوك ولها أسماء مختلفة بحيث يمكن التحكم في اظهارها واخفائها حسب العدد المدخل وبإستخدام set_item_property وفي انتظار مشاركات الأعضاء
تحياتي :rolleyes:

بتاريخ:

أخي العزيز عمر ...
سأقوم بتجربة هذا الكود

FUNCTION GET_BLOCK_PROPERTY
 (COMPUTERS  Block,
 RECORDS_DISPLAYED  NUMBER);



هل أنا على الطريق السليم :rolleyes:

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

السلام عليكم ورحمة الله وبركاته
اخي msh , شكرا على مشاركتك هذا الموضوع وياريت تعمل فورم يقوم بعمل الفكره التى

اقترحتها وهي عمل حقول مخفية في نفس البلوك .

أخي Oracle , بالنسبه للكود الذي قمت مشكورا بتقديمه فهو يقوم بالحصول على عدد الRecords

ولكن وللاسف لايمكنه من تغيير عددهم حيث انه لايمكن استخدام :-

FUNCTION SET_BLOCK_PROPERTY
(COMPUTERS  Block,
RECORDS_DISPLAYED  NUMBER);



وهو اسهل حل لو انه مسموح تنفيذ هذا الكود .

شكرا للجميع وان شاء الله تزيد الاقتراحات والحلول .

عمر باعقيل
كندا - مونتريال
[email protected]

بتاريخ:

اخي العزيز عمر باعقيل
نرجوا منك وضع الكود حتى نستطيع تطويره

بتاريخ:

يا اخوان اضنه من الصعب التحكم في عدد السجلات في الـdeveloper , ولكن ممكن ان يكون الحل عن طريق استخدام الـocx
جربوا هذا

msflexgrid.fmx

تم تعديل بواسطة khaled

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

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

اخي خالد , للاسف لم اتمكن من معرفه كيفيه إظهار السجلات في الفورم الذي عملته , ارجوا ان

تشرح لي كيفيه تشغيله والف الف شكرا على مشاركاتك في هذا الموضوع .

عمر باعقيل
كندا - مونتريال
[email protected]

بتاريخ:

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

بتاريخ:

السلام عليكم
بالنسبة للـOCX الذي استخدمته هو MSFLXGRD وهو مرفق مع الـZIP FILE

بالنسبة لكيفة استخدام الـFORM هو انك تحدد عدد السجلات في الحقل المجاور للزر OK ثم تضغط الزر
ربما تحتاج الى ان تنقر بالزر الايمن على المساحة البيضا OCX ثم تنقر INSERT OBJECT
وفي مابعد تنقر زر OK

RECORDS.zip

بتاريخ:

السلام عليكم
أخي عمر سوف تجد في الملف المرفق الفكرة التي قصدت" حقول مخفية :) في نفس البلوك"
تحياتي

NewRecords.fmx

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

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

اخي msh , شكرا لك جزيل الشكر على محاولتك لكن الفورم الى انت عملته لايؤدي ماهو مطلوب بالتحديد

فلا بد ان تكون في وضع الQuery حتى تتمكن من تغيير عدد السجلات او تكون قد دخلت الى

البلوك التاني والذي به جدول dept لكي تتمكن من تغيير عدد السجلات , ايضا عن قيامك بمحاوله اضافه

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

اول سطر ويقوم بإخفاء بيانات السطر الاول وايضا يكرر البيانات المدخله في اسفل البلوك .

على العموم شاكر لك اهتمامك ومحاولاتك والله يوفقك لما تحب وترضى .

مرفق مع هذه المشاركه الفومر fmb الذي عملته في البدايه وملف نصي فيه الجداول اللازمه لتشغيل

الفورم وياريت يحاول احد منكم اعزائي بتطويره والوصول الى فكره الجريد بطريقه افضل من التى حاولت فيها .


عمر باعقيل
كندا - مونتريال
[email protected]

new_Records.zip

بتاريخ:

مشكوورررررر

بتاريخ:

وعليكم السلام
أخي عمر أول شي مشكور على طرح النموذج في الموقع وكما ذكرت سابقا فإن العملية يمكن ان تتم بحقول مخفية في نفس البلوك وهذا ماقمت بعمله ولو تلاحظ في النموذج المرفق هناك " بلوك واحد فقط وأكثر من حقل حسب العدد المطلوب " يعني مافيه أكثر من بلوك النقطة الثانية "انه مايمكن تغيير عدد السجلات إلا في وضع الإستعلام" اسمح لي هذا غير صحيح ويمكنك التجربة حاول تعدل في بيانات dept وقبل ماتحفظ ارجع وغير عدد السجلات وراح يتغير معك عدد السجلات ايضا حاول ان تضيف سجل جديد وقبل ماتحفظ غير عدد السجلات وراح يتغير معاك حسب العدد المدخل وهذا معناه انه يمكن التغيير في وضع INSERT & UPDATE ، اما عملية تكرار البيانات فقد :D لاحظت هذه المشكلة وراح احاول اعدل فيها وارسل النموذج مره اخى ...
مع تحياتي :)

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

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

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

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

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

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.