أيها لأخوة ارجو منك المساعدة
وهو أني أريد فورمات لبطاقة الأحوال مثلاً بحيث أن المستخدم إذا أدخل عشرة أرقام يضعها له بالصيغة التالية مثلاً(9-9999-9999-9)
ولكم مني جزيل الشكر
أيها لأخوة ارجو منك المساعدة
وهو أني أريد فورمات لبطاقة الأحوال مثلاً بحيث أن المستخدم إذا أدخل عشرة أرقام يضعها له بالصيغة التالية مثلاً(9-9999-9999-9)
ولكم مني جزيل الشكر
اهلا runtime
في حل بديل لل format mask وهو كما يلي :
لو قمنا بعد الخانات في الحقل الذي تتكلمين عنه لوجدناها (14)خانه
وبما انه يوجد اشارة '-' اذن يكون الحقل حرفي
ولعمل ال format mask المطلوب يتم تنفيد الجمل التاليه
في trigger when validate item على مستوى الحقل
والجمل هي لو افترضنا ان اسم الحقل هو t: -
:T := REPLACE(:T,'-',' ');
:T :=
LPAD(substr(:t,1,1),1,'0')||'-'||
LPAD(substr(:t,2,4),4,'0')||'-'||
LPAD(substr(:t,6,4),4,'0')||'-'||
LPAD(substr(:t,10,1),1,'0');
يرجى اخذ نسخه من النص المكتوب سابقا ولصقها في المكان المطلوب وسيعمل البرنامج بإذن الله
بس لا تنسى تغير اسم الحقل الى T:
الأخ النبع
شكراً على تجاوبك السريع
ولكن جربت الطريقة ولم تنجح وكانت النتيجة التالية
FRM-40735: WHEN-VALIDTE-ITEM trigger raised unhandled exception ORA-065002
امل حل المشكلة
بسم الله الرحمن الرحيم
هناك طريقة سهلة جدا وعملية
لنفرض أن طول الحقل الذي تريد هو 10 أرقام إذا أردنا إخراجه بالصورة 9-9999-9999-9 غير في خصائص الحقل ما يلي
data type number
maximum length 13 بسبب زيادة الثلاث فواصل
format mask 9"-"9999"-"9999"-"9 وستنجح بإذن الله سواء كان ذلك في الفورم أو الريبورت
تحياتي للاخوان جميعا
شكرا لك اخي omar_s
الطريقه مزبوطه 100%
جربتها ونجحت معاي
ما بعرف شو رأي الاخ runtim
جزاك الله خير...
وهذه الطريقه الصحيحه اللي اقترحها الاخ omar_s
9"-"9999"-"9999"-"9
خذها copy يا اخ run time مثل ماهي من البدايه للنهايه
هذا الموضوع مغلق.