مرحبا بكم جميعا ....
كيف ممكن ان نتحكم من خلال الدفلوبر بحيث نتحكم في حقل من الداتابيز ونوعه أحرف بحيث لايقبل الا أرقام ....
ملاحظة : بدون كتابة اي كود او اي ترقر
اللي حيجيب الحل حيكون :b1
تحياتي لكم جميعا
MyOracle
فلسطـــين الحبيبة
مرحبا بكم جميعا ....
كيف ممكن ان نتحكم من خلال الدفلوبر بحيث نتحكم في حقل من الداتابيز ونوعه أحرف بحيث لايقبل الا أرقام ....
ملاحظة : بدون كتابة اي كود او اي ترقر
اللي حيجيب الحل حيكون :b1
تحياتي لكم جميعا
MyOracle
فلسطـــين الحبيبة
السلام عليكم
ممكن اقول الحل يااخي MyOracle :cool::D
اقوووول ولا مااقوووول ;)
عمر باعقيل
كندا - مونتريال
السلام عليكم جميعا
ولو يا يا أستاذ عمر.... انتا تقول وتصول وتجول بس المشكلة انو انتا دايما :b1
الله يطول عمرك يارب وانا سعيد جدا بمشاركتك (f)(f)(f)(f)(f)(f)(f)(f)(f)(f)
السلام عليكم
اخي MyOracle
لجعل حقل حرفي لايقبل الا ارقام ... ننتقل الى خصائص الحقل ونقوم بعمل التالي :
Lowest Allowed Value = 0
Highest Allowed Value = 9
اتمني انه هذا الحل يكون هو الصحيح .. وياريت لو عندك حل تاني او تعديل علي
الحل الى انا وضعته , فارجوا التصحيح او ذكر الحل الاخر .
عمر باعقيل
كندا - مونتريال
مرحبا اخي عمر جزاك الله كل خير
كلامك اخي صحيح وبصراحة انا لم يخطر في بالي مثل هذا الحل;) ..... ولكن بردك ممكن يقبل انو يدخل احرف في الحقل
حيث اذا ما ادخلنا بعض القيم ارقام وبعضها احرف سوف يقبل هذه نقطة وماذا لو اردنا ان نتعامل مع الحقل واردنا ان ندخل قيم من علي سبيل المثال 122.33
اي بها فواضل عشرية ؟؟؟ عندما يكون التحكم بالحقل عن طريق الرينج 0-9 عندها سوف يقبل منا اكثر من فاصلة عشرية واحدة اي ممكن ندخل له اكثر من فاصلة عشرية ويقبلها :'(:'(:'(
اما ما توصلت له انا واعتقد انه هو الحل الامثل حتى نقوم بتحويل الحقل الذي هو من نوع Char
بحيث نتعامل معه كحقل من نوع ارقام Number
هو ان نقوم بتغير من خواص الحقل
Data Type
من Char
الى Number
وبهذا يصبح الحقل الذي هو من نوع احرف يصبح من نوع ارقام ولكن فقط في الدفلوبر وليس في الجدول او داخل قاعدة البيانات
وفي حالة ما ادخلنا اي حرف في الحقل سوف تظهر رسالة الخطأ من الدفلوبر وتمنعنا من ادخال اي حرف وحيزعل منا الدفلوبر لو كررناها وادخلنا احرف ......:'(:'(:'(.....جربوها وقلولي رأيكم
تمنياتي لكم جميعا بدوام الصحة والعافية والنجاح(f)(f)(f)(f)
MyOracle
فلسطـــــــين
السلام عليكم
اخي MyOracle
كلامك صحيح 100%
للاسف انا كنت اجرب علي اول خانه فقط .. فلو ادخلت اول شي حرف فلن
يقبل تخزين القيمه حتى لو كانت تحتوي علي ارقام مثلا a1234
لكن لو كان اول قيمه رقم والباقي حروف او ارقام فسيتم قبول القيمه وسيتم
تخزينها في قاعدة البيانات مثلا 1asdg12 .. وطبعا هذا خطاء .
شكرا لك اخي , زادك الله علما ونفع به المسلمين :) (f)
عمر باعقيل
كندا - مونتريال
يا جماعة ليش معقدين الأمور
فقط في ال format mask ضعوا عددا من رقم 9 لعدد الخانات التي سيتم السماح بادخالها وسيتكفل الديفيلوبر بالموضوع
أي مثلا إذا أردتم أن يتم ادخال أكبر عدد من خانة المئات ففقط ضعوا في الفورمات ماسك 999
ونفس الشيء بالنسبة للكسور العشرية ، ضعوا بعد الفاصلة عدد من 9 على حسب حاجتكم
وإذا أردتم أن تجبروا المستخدم على إدخال العدد المطلوب أي إذا كان من فئة المئات فيجب عليه إدخال عدد بين 100 و 999 فكل ما عليكم عمله هو استبدال ال 9 ب 0 وإنتهى الموضوع
وشكرا على طرح هذه القضية
مرحبا اخ شرجاوي شكرا علي مشاركتك اخي:
اخ شرجاوي ممكن كلامك يكون صحيح فقط اذا كان نوع الحق هو Number
اما اذا كان نوع الحقل char
فلابد عندما تضع الفورمات 999.99 علي سبيل المثال ..لابد من ادخال القيم بنفس شكل الفورمات ونفس العدد وهي هيا المشكلة ماذا لو اردنا ان ندخل عدد غير معروف في الحقل يعني ممكن يكون 123 او 254888 او 236.3666
هنا تظهر المشكلة وانسب شيئ هو ان نحول الحقل من char اي
number حتى نتخلص من كل هذه المشكلة وسهعتها ممكن تعمل اي فورمات وبكل سهولة .
شكرا لجميع من شاركونا في هذه المشاركة (f)(f)(f)(f)(f)
MyOracle
فلسطـــــــين
أخوي myoracle أنا ذكرت أنه يتم استخدام الرقم 9 في حالة أنك لا تريد تحديد العدد وتستخدم 0 في حالة أنك تريد تحديد العدد
أما إنك تعمل الحقل number وتترك المستخدم يدخل حروف ثم عندما يريد عمل commit تقوم بترك الديفيلوبر يحاول إدخال الحرف ولا يستطيع فيعطي رسالة error فهذا ليس حلا أبدا لأنه في الحالات التي يوجد بها رقم تسلسلي تأخذه من sequence من قاعدة البيانات سيؤدي إلى استهلاك أرقام على الفاضي وترك مساحة gap في ال sequence
هذه حالة من الحالات
لذا غلط أن تقوم بترك الأخطاء إلى الآخر ليقوم الديفيلوبر باصلاحها بس يجب عليك من البداية تلافي الأخطاء واصلاحها
وشكرا
مرحبا اخي شرجاوي:
يبدو انك لم تتقوم بتجربة ما قولته لك ... انا جربت الطريقة التي قلتها انت صدقني لم تفي بالغرض الذي انا اتناوله ... هنا
في هذه الحالة لو اننا فرضنا انك تريد ادخال الراتب الشهري لموظف فكيف فكيف وهو ممكن ان يكون له عدة صور واشكال مثل 500.58 او 4000 او 60.99
جرب ان تدخل هذه القيم علي حقل من نوع char وضع ما تريد من الفورمات بحيث يقبل جميع احتمالات ادخال قيم هذه الامثلة التي وضعتها لك ...
جربها وقول لي كيف ممكن ان نطبقها وانا شاكر لك ...
MyOracle
فلسطـــــــين
أخوي myOracle
أنت قمت بتحويل نوع الحقل إلى number إذا لماذا أنت مصرا علي أن أبقيه char
ما أقصده أنه ليس كافيا لتحويل نوع الحقل لأنه إذا لم تقم بتحديد ال format mask لن يفحص المدخلات في الحقل إلا ساعة التخزين وعليه سيعطيك الرسالة ويقوم بعمل كافة العمليات التي تكون قد كتبتها في ال key-commit .... أما في حالة استخدم الفورمات ماسك تكون قد ضمنت أنه لن يستطيع الخروج من الحقل إلا بعد أن يكون قد كتب فيه أرقام
أتمنى أن تكون الصورة قد وضحت
وشكرا
يا اخي العزيز شرجاوي ...يبدو اننا لم نختلف ولكن
انا مشاركتي فقط تقتصر علي التحكم في الحقل بحيث لايكتب فيه احرف مع انه نوعه في الداتابيز هو VARCHAR
فقط اما كيف تتحكم في شكل الفورمات او لادخال هذا ما لا اعنيه في مشاركتي هذه... لك مني جزيل الشكر يااخي وانا سعيد بمشاركتك معي ولا تحرمني من مشاركاتك (f)(f)(f)(f)
MyOracle
فلسطـــــــين
ياخي myOracle شكلنا قلبناها شات
خلاص إنسا الموضوع لا أنا رح إفهمك ولا إنت رح تفهمني
:) (f)(f)(f)(f)(f)(f)
أخوي فارس عبدالله مناقشة عادية مالمانع أشوفك متضايق
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…