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

بتاريخ:
اخوي عبدالله الكود شغال تمام ولكن اوجه بعض المشاكل في حالات معينة بالكود
لذلك ارى ان الكود التالي عند وضعه
if :CHECK_BOX234 = 1 then
:send:= :send || ';' ||:list.id;
يعطينينا نفس المطلوب وبطريقة اسهل ومختصرة ولكن مشكلة هذا الكود
هو عند ازالة اشارة الصح عنه لا يحذف رقم الموظف من التيكست
اذا كان في طريقة لحذف الرقم من التيكست عند ازالة الصح يكون احسن
اما اذا لا يوجد سأشرح لك مشاكل الكود الذي كتبته
ارجو الرد ؟ وشكرا


كيفك اخ ماهر
هو انا مش عارف الرد ده على الموضوع الاصلي ، يعني ازاي تجمع ارقام الموظفين في تكست واحد وتفصل بينهم بعلامة ، ولا على كود الاضافة في الجدول ؟؟؟
يعني ردك ده على الموضوع الاصلي ، ولا على اخر رد لي

أرجو التوضيح
  • الردود 43
  • المشاهدات 4.8k
  • البداية
  • اخر رد

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

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

اخي عبدالله انتا اعطيتني الكود اللي فوق والذي يحتوي على loop وااضافة الارقام
لماذا لا نستخدم هذا الكود
:send:= :send || ';' ||:list.id;
when checkbox changed
لما تكون القيمة 1 بيضيف تمام يعني معلم على الرقم باشارة صح
ولكن لما تتغير القيمة ويشيل الصح نحذف الرقم من التيكست ؟ اتمنى ان تكون وصلت الفكرة

بتاريخ:

ما احنا قلنا السبب قبل كده
افرض الاخ اليوسر عمال يلعب ، كل شوية يحط علامة ، كده يضيف ، وبعد كده يشيلها ، وبعد كده يحطها تاني يبقى هيضيفه تاني
إلا لو انت عايز اول لما يشيل العلامة يحذف رقم الموظف من التكست
لو انت عايز كده ... هعملهاك ...بس يعني حاسس انها ملهاش زلامة اوي يعني
بس هعملها ... ويكون عندك الحلين واختا انت براحتك

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

بالضبط انا عاوز كده اذا مافيش غلبة يا اخوي عبدالله
؟؟؟
ممنونك شكرا لك

بتاريخ:

اتفضل يافندم
بس انا كنت بشتغل على اسكيمة عندي ... يعني انا قيمة الحاجة اللي كنت عايز اضيفها عندي في التكست اسمها USER_ID
بالنسبة لك انت مش عارف اسمها EMP_CODE ولا EMP_ID ولا ايه
على العموم هتغير كل كلمة USER_ID باسم الحقل اللي فيه رقم الموظف ... واضحها ياباشا ؟؟

DECLARE
  v_word   VARCHAR2 (300);
  V_SUB_STR VARCHAR2(300);
BEGIN IF :chk = 1
  THEN
     IF :send IS NULL
     THEN
        :send := :user_id;
     ELSE
        :send := :send || ';' || :user_id;
     END IF;
  ELSE
     v_word := :send;
     :send := '';

     FOR i IN 1 .. LENGTH (v_word) + 1
     LOOP
        IF SUBSTR (v_word, i, 1) = ';' OR i = LENGTH (v_word) + 1
        THEN
           IF V_SUB_STR <> :user_id
           	THEN 
           	  :SEND := :SEND || ';' || V_SUB_STR;
           END IF ;
           

           V_SUB_STR := '';
        ELSE
           V_SUB_STR := V_SUB_STR|| SUBSTR (v_word, i, 1);
        END IF;
     END LOOP;
  END IF;
END;



جرب وقولي

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

اخوي عبدالله مشكور ع الكود
كود جميل ورائع ويستحق التأمل فعلا
الكود شغال تمام و100 \100
ولكن بقيت مشكلة الريكورد الذي null حتى بعد هذا الكود

بتاريخ:

أولاً : الحمد لله ان الكود ادى الغرض المطلوب
ثانيا : ممكن تعمل بيرنت اسكرين زي ما قولت لك في وقت الرن تايم ، بعد ما تختار من الشيك بوكس وترمي قيم في التكست
وبرينت سكرين تانية من الكود اللي في الزرار الخاص بعملية الاضافة في الجدول ، الكود اللي بيعمل INSERT يعني

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

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

بتاريخ:

الصورة الاول ... مفيش حاجة اترمت في التكست اللي تحت لسه ( مش التكست ده برضه اللي هيترمي فيه أرقام الموظفين اللي هيتبعت لهم الرسالة ؟؟)

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

نعم كلام سليم هذا هو التيكست ولكن المشكلة في كود الانسيرت

بتاريخ:

لا المشكلة في كود الانسرت بص كده على الصورة الاولى ، التكست بتاع إرسال إلي هتلاقي سيمي كولن ; زيادة موجوده في اول اول في اخر التكست ، انا مش عندي كده خالص
يعني المفروض وفقا للكود اللي عملناه واللي بيرمي في التكست
تكست إرسال إلى هيكون فيه كده (107;100;24) ..... لكن انت عندك في أول السطر سيمي كولن زيادة ... جت منين ؟؟؟؟؟


السيمي كولن الزيادة ده ، بتخللي كود الانسرت يعتبر ان فيه قيمة قبلها والقيمة ده NULL
وبالتالي بيضيف هنا ريكورد زيادة بقيمة NULL لرقم الموظف

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

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

والله ما بعرف هي الكود زي ما هوي في الفورم كود اضافة الى التيكست

DECLARE
v_word VARCHAR2 (300);
V_SUB_STR VARCHAR2(300);
BEGIN IF :CHECK_BOX234= 1
THEN
IF :send IS NULL
THEN
:send := :list.id;
ELSE
:send := :send || ';' || :list.id;
END IF;
ELSE
v_word := :send;
:send := '';

FOR i IN 1 .. LENGTH (v_word) + 1
LOOP
IF SUBSTR (v_word, i, 1) = ';' OR i = LENGTH (v_word) + 1
THEN
IF V_SUB_STR <> :list.id
THEN
:SEND := :SEND || ';' || V_SUB_STR;
END IF ;


V_SUB_STR := '';
ELSE
V_SUB_STR := V_SUB_STR|| SUBSTR (v_word, i, 1);
END IF;
END LOOP;
END IF;
END;

بتاريخ:

انت متأكد ان ده الكود اللي انت مستخدمه ؟؟؟؟
ده انا خدته زي ماهو وعملته على الفورمة بتاعتي ، ومش بنزل السيمي الكولن الزيادة ده
طيب معلش جرب انك تعمل تشيك على رقمين بس ، وبص هتنزل كام سيمي كولن في التكست ، المفروض ينزل واحدة بس ، شوف كده وقولي

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

عبدالله انا عرفت السبب الان
الكود شغال زي ما انتا حكيت بدون زيادة ولكن المشكلة تبقى السيمي الزيادة لما تشيل صح عن رقم ينحذف الرقم وتبقى السييمي اتمنى ان تكون وصلت الفكرة

بتاريخ:

معاك حق
هشوف الخطأ في الكود ايه وأقولك

بتاريخ:

اتفضل ياباشا ..... ده الكود بعد التعديل

DECLARE
  v_word   VARCHAR2 (300);
  V_SUB_STR VARCHAR2(300);
BEGIN IF :chk = 1
  THEN
     IF :send IS NULL
     THEN
        :send := :LIST.ID;
     ELSE
        :send := :send || ';' || :LIST.ID;
     END IF;
  ELSE
     v_word := :send;
     :send := '';

     FOR i IN 1 .. LENGTH (v_word) + 1
     LOOP
        IF SUBSTR (v_word, i, 1) = ';' OR i = LENGTH (v_word) + 1
        THEN
           IF V_SUB_STR <> :LIST.ID
           	THEN 
           	  IF :SEND IS NULL 
           	  	THEN 
           	     :SEND :=  V_SUB_STR;
           	  ELSE
           	    :SEND := :SEND || ';' || V_SUB_STR;
           	  END IF ;
           	  
           END IF ;
           
           V_SUB_STR := '';
        ELSE
           V_SUB_STR := V_SUB_STR|| SUBSTR (v_word, i, 1);
        END IF;
     END LOOP;
  END IF;
END;



جرب وقولي

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

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

بتاريخ:

ربنا يكرمك يافندم ...
وأسأل الله عز وجل ان يجيب دعوتك ، ويعطيك أكثر مما دعوت لي بيه وجميع احبائنا اعضاء المنتدى وجميع المسلمين .. اللهم ءامين

يعني نقدر نقول انا الفورمة هتترفع قريب على المنتدى ان شاء الله ؟؟

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

نعم اخي عبدالله اليوم او غدا ستكون على المنتدى ان شاء الله عزوجل وهذا كله بجهودك الله يكرمك
شكرا لك

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

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

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

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

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

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.