الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ثلاثة أسئلة

مغلق
بدأه الفقير إلى ربه في 4 أغسطس 2001 · 21 رد · 3,930 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

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

لو تكرمتم لدي ثلاثة أسئلة مهمة جداً بالنسبة لي ، لأني قد عملت برنامج على قواعد البيانات اوراكل ، ويقوم هذا البرنامج بأداء معضم العمل الروتيني اليومي الخاص بي في الإدارة ، ولكن أثناء برمجته كنت أود عمل مهمة ما ولكن لقلت الخبرة لم أستطع ، وهي :

1- أني عندما أدخل التاريخ 30 في بعض الأشهر يقوم البرنامج بتحويله إلى اليوم الأول من الشهر التالي ، مثال : 30/10/1422 يحوله إلى 1/11/1422 ، مع العلم ، أن إعدادات NLS في Regedit هي :

NLS_LANG = AMERICAN_AMERICA.AR8MSWIN1256

NLS_CALENDAR = ARABIC HIJRAH

والإعدادات في SQL PLUS هي :

NLS_CHARACTERSET = AR8MSWIN1256

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

2- كيف استطيع برمجة مفتاح ما من مفاتيح اللوحة لمهمة ما . فمثلاً أريد وضع مفتاح معين بدل المفتاح F7 للدخول في الاستعلام ، وأريد استخدام الزرين PAGEUP,PAGEDOWN في قائمة الخيارات LOV (list of values(

3- لدي في مكتبي جهاز كمبيوتر واحد وهو الذي يعمل عليه البرنامج ، ولي زميل في نفس المكتب نريد أن نحضر جهاز آخر ليعمل عليه . و يكون الجهازان يعملان على البرنامج في قاعدة واحدة database . أي نريد أن نعمل شبكة فكيف نبدأ وماذا نجتاج ، وهل يحتاج البرنامج أي تعديلات حتى يعمل على الشبكة ، وماهي البرامج الضرورية ، وهل تكون القاعدة على الجهازين أم على أحدهما . نريد التفصيل من البداية.

وآسفين على التطويل ، ودمتم .

#2

بالنسبة للسؤالين الأوليين فما عندي فكرة للأسف لأني لم أتعامل مع التاريخ الهجري من قبل .

أما بالنسبة للسؤال الثالث فأنت بحاجة الى جهاز يحتوي على Windows NT أو Windows2000 كسيرفر . بحيث تركب فيه نسخة خاصة تسمى :

Oracle 7 for Workgroup أو Oracle 8i Enterprise

وتركب القاعدة في هذا الجهاز وتربط بقية الأجهزة به عن طريق برنامج Sql net أو Net 8 easy من أوراكل

أرجو أن أكون قد رددت على سؤالك

#3

جزاك الله أخي العبدلي خيراً على الاهتمام والجواب ، ولكن أين البقية لماذا لا يجيبوا على استفساراتنا . والله إني محتاج إلى من يجيب على الفقرة الأولى ، خاصة أنه قد ظهرت لي مشكلة أخرى في التاريخ وهي أني عندما كنت أدخل البيانات في البرنامج الذي تم تصميمه في قواعد البيانات أوراكل والذي قد ذكرته من قبل ، حيث أدخل التاريخ التالي :

30/12/1415 يقوم البرنامج بتحويله إلى ########## .

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

والسلام عليكم ورحمة الله وبركاته ،،،، وفي انتظار الجواب

#4

السلام عليكم

راجع

http://arabteam.nicmatic.com/vb/showthread...3?threadid=1694

اما ##### فاعتقد ان طول الحقل اقل من المطلوب وما دمت تستخدم التاريخ الهجري من الجهاز غير خصائص الحقل الى

data type ==> date

maximam length ==> 10

format mask ==> yyyy/mm/dd

#5

الأخ : أبو عمر عبدالله جزاك الله خيراً على الاهتمام وبارك فيك

في الواقع خصائص جميع حقول التاريخ هي كما قلت وهي :

data type ==> date

وطول الحقل كما يلي

maximam length ==> 11

format mask ==> yyyy/mm/dd

وأحب أن أنبهك إلى أن المشكلة ليست مع جميع التواريخ ، ولكني قابلتها في حالياً في التاريخ المعين التالي :

30/12/1415 فقط ، يعني أني لو كتبت 29/12/1415 فإنه يكتب كما هو ويضل بنفس الشكل أما التاريخ الأول هو يتحول إلى #########

وبهذا فأنا عندي مشكلتين في التاريخ :

1- أنه يحول التواريخ في نهاية بعض الشهور إلى اليوم الأول من الشهر التالي مثل : 30/10/1422 يحوله إلى 1/11/1422 .

2- يقوم بتحويل التاريخ التالي خاصاً :

30/12/1415 إلى ######## . ولم تقابلني هذه المشلكة حالياً في أي تاريخ آخر غير هذا اليوم بالذات .

ونرجوا من الأخوة الكرام الإجابة ، وجزاكم الله خيراً من مشرفكم إلى مشارككم .

#6

يا شباب ، علي إدخال بيانات 20000 شخص ، وادخلت حالياً بيانات 710 شخص ، والتواريخ هي المشكلة ، فقد أدخلت تاريخ حفيظه شخص هي 30/2/1383 فحولها البرنامج إلى 1/3/1383 . وهذا بين مقدار المشكلة وأنها حقاً مشكلة ،وتسبب إدخال بيانات خاطئه .

فساعدونا جزاكم الله خيراً ، وين محمد بدوي والسني والنبع ... وبقية أصحاب الخبرة .

وفي انتظار الجواب !!!!

#7

السلام عليكم

الاخ الفقير إلى ربه

تصدق اني اكتشفت عندي نفس المشكلة بعد ان قمت بعمل برنامج صغير (الله يستر من البرامج الى راحت)

وبعد ما نفذت

select NAME,substr(VALUE$,1,100) from sys.props$;

في ال sql ظهر لي التالي مع ان الوضع في الريجستري مظبوط

NLS_DATE_FORMAT

DD-MON-YY

NLS_DATE_LANGUAGE

AMERICAN

NLS_CHARACTERSET

AR8MSWIN1256

NLS_CALENDAR

GREGORIAN

NLS_RDBMS_VERSION

7.3.2.1.0

نحن ننتظر لعل احد يعطينا حل والا نغير حقل التاريخ الى حرفي ونشتغل مثل اول ... مشكاي على الله

#8

جزاك الله خيراً يا ابو عمر يا عبدالله

ولكن متى يكون الجواب ، وأنا متأكد إن محمد بدوي والسني قد قرأوا هذا الموضوع ، وعندهم الجواب ولكن لا أدري لماذا لا يجيبون . وانا كانت عندي ثلاثة اسئلة ، وقد تنازلت عن اثنين وأريد جواب الأول فقد فيا أهل الخبرة ويا مشرفون أجيبونا جزاكم الله خيراً فقد اتممت هذا اليوم إدخال 100شخص وما زالت مشكلة التاريخ تعترضني . وأنا أخاف أن اتمم بيانات 20000شخص ثم يأتي الجواب . لأن معدل إدخالي اليومي 100شخص . ويا استاذ محمد بدوي ويا السني ، ويا النبع أظهروا وبانوا وعليكم الأمانو!!!!!!

ولكن يا أخ ابوعمر ، قصدك بتحويله إلى حرف أن يكون الحقل حرفي(char( . رجائي اشرحه مع شرح كيف التخزين والإظهار . وهل يمكن أن يكون الحقل رقمي (number) .

..... وفي انتظار الرد .......

#9

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

كما (وأتحدث عن نفسي فقط هنا) إنني وفي فترة السنوات الأخيرة (منذ 1994) أعمل في مجال إدارة قواعد البيانات، لذا (وهو عيب في) تجدني إبتعدت كثيرا عن البرمجة، وكثيرا ما أترك المجال لمن هم في مجال البرمجة.

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

#10

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

الاخ الفقير الى ربه

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

اما من ناحية مشكلة التاريخ فقد يكون الاوراكل يتعامل معه على اساس انه ميلادي لان ال NLS_CALENDAR يكون GREGORIAN في ال sql وايضالاحظت انه ليس كل الشهور يتم تغييرها للشهر التالى .

اما سؤالك عن تغيير الحقل الى حرفي نعم اقصد char واذا بغيت الشرح مع مثال ارسلى بريدك وابشر.

#11

بسم الله الرحمن الرحيم

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

وقعت في مشكلة التاريخ أيضاً حيث أن النظام لا يقبل التاريخ التالي

1422/2/29 ، فهو يعطي رسالة تقول (اليوم يجب أن يتراوح بين 1 ونهاية الشهر) ،واعتقد لأن الشهر الثاني (شهر فبراير) في سنة 1422بالميلادي كان ناقص أي 28 يوما لذلك النظام رفض ذلك التاريخ

وحيث أن التاريخ المكتوب المقصود منه تاريخ هجري وليس ميلادي كما اعتقده النظام.

فما هو الحل في هذه المشكلة ؟

هناك حل لهذه المشكلة ولكن حلها أيضا سبب مشكلة أخرى ، الحل كان هو إضافة NLS_CALENDAR = ARABIC HIJRAH في الريجستري الخاص باوراكل ، فقد تم قبول التاريخ السابق ولكن جميع التواريخ التي أدخلت من قبل وهي كثيرة جدا تغيرت إلى تواريخ قديمة جداهو الفارق بين التاريخ الميلادي والتاريخ الهجري ، وليس من المعقول إعادة مئات التواريخ من جديد في هذه الحالة .

فما هو الحل يا شباب ؟

#12

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

جزاكم الله عن كل حرف كتبتموه حسنه وثقل به موازينكم

الاخ السني :

منحك الله علماً فيما لا تعلم ، وزادك علماً فيما تعلم.

الاخ ابوعمر عبدالله :

والله إني لأحسن الظن في جميع من في هذا المنتدى ، لأنهم لم يأتوا إلا للإستفادة أو للإفادة . ولكني طالب حاجة وقد ألحيت في حاجتي ووجدت والحمد لله الإستجابة منكم ومن الكرام أمثالكم .

وفي الحقيقة يا أخ ابو سلمان ، انا كنت معتمد في برنامجي وفي بداية الأمر على التاريخ الميلادي ، وكنت قد وضعت جدول به حقلان حقل للهجري وحقل للميلادي وكان البرنامج يستخرج التاريخ الهجري عن طريق التاريخ الميلادي وهو ما ذكره الأخ ابو عمر عبدالله في رده الأخير ، ولكن عندما اردت أن أدخل التاريخ 29/2/1422 رفض البرنامج لأنه خارج نطاق الشهر الميلادي . وهذا هو السبب الرئيسي الذي جعلني أتحول إلى التاريخ الهجري . فظهرت التواريخ بالشكل التالي 25/2/0825هـ ، ومن حسن الحظ أني لم أدخل بيانات كثيره فأعدت تعديل التواريخ لأني لاأعرف طريقه أخرى. ومن ثم ظهرت لي مشكلة أخرى وهي موضح فيما سبق وهي التي أطلب لها حل.

لكن يا ابوعمر هل ترى الحل في تحويل الحقل إلى حرفي؟ ، بس ويش رايك في الحقل الرقمي ،

وتفضل البريد :

aleyadhi@hotmail.com

وبارك الله فيكم أجمعين ....

#13

السلام عليكم

الاخ الفقير الى ربه

راجع بريدك .

اما من ناحية المشكلة التي اشرت اليها بردك الاخير وان لديك جدول به حقلان واحد للهجري والاخر للميلادي ....

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

#14

تحياتي للجميع

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

بالنسبه للمفاتيح سنتكلم بشرح مختصر عن كيفية بنائهافي DEVELOPER وللعلم يجب ان نتطرق لما يلي :

عند بناء FORM جديد يقوم الDEVELOPER ببناء FUNCTIONS جاهزه مربوطه بمفاتيح معلومه ومحدده ويمكن التعرف عليها عن طريق الضغط على CONTROL+F1 اثناء الRUNTIME

ستجد على سبيل المثال ان (F10) تعني ACCEPT و (F8) تعني EXECUTE_QUERY و (F7) تعني ENTER_QUERY

الان اتغير ما سبق يمكنك عمل ما يلي :

1- عند استعراض الTRIGGERS ستجد ان هنالك بعض من هذه يبتدئ ب

(KEY) مثل (KEY-EXEQRY) والذي يعني ان هذا الTRIGGER هو المربوط مع (F8) لإجراء عملية الاستعلام (EXECUTE_QUERY)

ولو اردنا ايقاف عملية الاستعلام عن طريق مفتاح (F8) لقمنا بوضع كلمة (NULL) في الـ(TRIGGER)

(KEY-EXEQRY) ستجد انه اصبح لا يعمل. وهذه تنطبق على الباقي .

2- لو اردنا عمل QUERY عن طريق (F7) وENTER QUERY عن طريق (F8) نقوم بعمل ما يلي :

أ- نكتب داخل الTRIGGER KEY-EXEQRY الجمله التاليه

(ENTER_QUERY).

ب- ونكتب داخل الTRIGGER KEY-ENTQRY الجمله التاليه

(EXECUTE_QUERY).

3- من هذه الميزه ستجد ان بإمكانك اخي الكريم ان تضع كل هذه الTRIGGERS على مستوى الFORM والتحكم بمن يعمل منها ولا يعمل عن طريق مستوى الBLOCK او الITEM مثال :

لو فرضنا ان (F10) وتعني حفظ وكتبنا فيها بعض الاجراءات الخاصه بالحفظ ثم انتقلنا الى BLOCK لا نريد

ان تتم عملية الحفظ والمستخدم عليه نقوم بكتابة NULL في

(KEY-COMMIT)....

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

(KEY-F0) الى (KEY-F10) .... وهي باستعمال

ال(ORACLE TERMINAL) سأقوم بالشرح عنه في مره قادمه بإذن الله......

طولنا عليكم........

#15

جزاكم الله خيراً لمن أرسل ولمن أجاب ،

ولكن يا ابو عمر ( عذراً على الالحاح ) هل يمكن أن يكون الحقل الرقمي أفضل من الحقل الحرفي مثلاً : وقت البحث في التاريخ أو المقارنه ونحو ذلك ، لأني أعرف أن البحث في حقول الأرقام أسرع والمقارنه أفضل .

الأخ النبع ، بارك الله فيك وفي علمك ، ولكن هل ممكن ان تتطرق لشرح استخدام الأزره الأخرى مثل pageup , pagedown وكيفية استخدامها في قائمة الاختيارات LOV list of values لأني رأيت برنامج يستخدمها في قائمة الاختيارات ولكن لم استطع معرفة كيف عُملت ؟

ونحن في انتظار شرحك بفارغ الصبر .....

#16

السلام عليكم

الاخ الفقير الى ربه

انا لم استخدمه من قبل واذا رغبت استخدامه تنبه للاتي:-

اذا كان الحقل الرقمي فأول مشلكة تواجهك مشكلة الترتيب التصاعدي او التنازلي كذلك المقارنة فالتاريخ له ثمان خانات 2 يوم و2 شهر و4 سنة ففي خانة اليوم اذا كان التاريخ من 1 الى 9 ياخذ خانه وحدة وحتى وان ادخلت صفر على اليسار يحذف مثلا يوم 2 كتبته 02 ، وبذلك يكون طول محتوى حقل التاريخ سبع ارقام اما من 10 الى 30 ياخذ خانتين وبذلك يكون طول محتوى حقل التاريخ ثمان ارقام

02/04/1410 يخزن كرقم 1410042 وكحقل حرفي 14100402

23/10/1405 يخزن كرقم 14051023 وكحقل حرفي 14051023

التاريخ الاول اكبر وبالفرز يكون الاول اصغر اذا اعتمدنا الحقل رقمي .

قد تقول ناخذه حرفي ثمان خانات ونحوله الى رقي ولا يكون هناك مشكلة هذا صح ولكن عند الاستعلام عن التاريخ سيعود للظهور سبع خانات (لان اليوم اذا كان مثلا 02 سيظهر خانه وحدة كمأ في المثال) وتحتاج لمعالجته مره اخرى ، وبذلك في كل عملية استعلام او تعديل انت بحاجة للتشييك على كل التواريخ قبل الادخال .

امل ان اكون قد اوضحت واتمنى لك التوفيق

#17

بسم الله الرحمن الرحيم

اقتراح للتاريخ الهجري

1- عرف العمود الذي يحمل التاربخ الهجري كعمود عددي من 8 بايتات أي :

(hijri_date number(8

2- في الفورم عرف حقل يحمل التاريخ الهجري كما يلي:

hijri_date : number

length:10

format mask : 9999"/"99"/"99

ولإدخل التاريخ الهجري اتبع الشكل س س س س ش ش ي ي(سنة شهر يوم) بدون فواصل أو فراغات؛ مثل 1/1/1420 أدخله على الشكل 14200101 فيتم تحويله إلى الشكل 01/01/1420 ومثل 15/1/1422 فيتم إدخاله على الشكل 14220115 فيصبح 15/01/1422. ويتم تخزينه في الجدول على الشكل 14200101,14220215 على التوالي.

ويتم ترتيب التواريخ بصورة صحيحة وبدون مشاكل كما يمكن إجراء العمليات الحسابية عليها. وبالنسبة لأوراكل فيبدو أنه غير مكتمل بعد لذلك الأفضل تركه للجيل التالي منها.

قد تحتاج أن تقيد المستعمل بحيث لا يدخل اليوم أكثر من 30 أو الهر أكثر من 12 أو أقل من 1 في كلا الحالتين لذلك قد يلزمك كتابية بعض الجمل البرمجية لمنع التلاعب!

أخوكم

كمال شلبي

#18

تحياتي للجميع

عند انزال DEVELOPER تنزل معه اداه اسمها ORACLE TERMINAL يوجد بهاخصائص المفاتيح المستعمله في DEVELOPER وايضا الكثير من الخصائص الاخرى مثل الالوان والخطوط... لكن معلوماتي في هذا الموضوع ليست بالكثيره .... سنتحدث عن طريقة برمجة المفاتيح من

(F0 وحتى F9) وهي اسماء الTRIGGERS الموجوده في DEVELOPER من

(KEY-F0 وحتى KEY-F9) كيف يتم تفعيل هذه الTRIGGERS عند الحاجه

يرجى تتبع الخطوات التاليه :

قبل تشغيل الoracle terminal يجب لغلاق الform builder .

1- عند تشغيل الORACLE TERMINAL يجب فتح ملف

اسمه (FMRUSW.RES) والموجود على (C:ORAWIN95FORMS60)

2- يتم اختيار من لوحة FUNCTIONS ال(EDIT KEYS)... سيظهر شكل شجره بمجموعة نقاط.

3- يتم الوقوف على الجذر (WINDOWS-SQLFORMS) والضغط على الزر (EDIT KEY BINDINGS).

لوفرضنا اننا نريد تفعيل الTRIGGER الخاص بالمفتاح (F3) وهو (KEY-F3)... نقوم بعمل ما يلي :

أ- نضغط على الزر (INSERT ROW) ونكتب في الحقل (ACTION) العباره (USER DEFINED KEY 3) ونكتب في الحقل (BINDING) العباره (CONTROL+ F3) ثم نضغط OK للعوده للشاشه التي قبلها.

ب- نضغط على الزر (PRODUCT ACTION) سيظهر شكل شجره نفس الشاشه الاولى يتم الوقوف على الجذر (SQLFORMS)

والضغط على الزر (EDIT ACTION) ... ستظهر شاشه يتم الضغط على (INSERT ROW) وتعبئة الحقول .

ج- يتم الكتابه في الحقل (ACTION) العباره (USER DEFINED KEY 3) وفي الحقل (CODE) الرقم (85) وهو رمز

المفتاح وفي الحقل (description) وصف عمل المفتاح كملاحظه للمستخدم.

د-بعد ذلك يتم عمل حفظ . واختيار (generate) من لوحة (functions) ويجب ان لا يكون هناك اخطاء.

هـ- بعد ذلك اغلاق الoracle terminal والذهاب لل(form) المعني واختيار (trigger key-f3) وكتابة المطلوب بداخله.

و- عند عمل run للبرنامج والضغط على (control+f3) سيتم تنفيذ ما بداخل الtrigger key-f3 .

اخي الفقير اظن ان هناك طريقه ما لا اعلمها للتحكم بال(keys) الموجوده على (lov) كما سترى في الشجره

ان هناك فرع اسمه (list values).

نرجو من الاخوان من يعلم اكثر عن هذا الموضوع ان يفيدنا... وشكرا.

#19

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

الأخوه الكرام جزاكم الله خيراً على المعلومات القيمة .

يا أخ ابو عمر ، جزاك الله خيراً على الرسالة التي أرسلتها ، فقد اطلعت عليها واستفدت منها ، ولكن رأيت أن أجعل حقل التاريخ رقمي وأن يكون من ثمان خانات ، وانا في تخوف ألا تنجح لأني لست بتلك الخبرة في أوراكل ، بالاضافه أني تعبت في إدخال بيانات 1000 مستفيد تابعين لإدارتنا وبقي 19000 مستفيد. واتمنا ألا تقابلنا مشاكل بعد ذلك . ولكن رد إللي الثقة بجدوى تحويل التاريخ إلى حقل رقمي ، رد الاستاذ كمال شلبي ، وإن لم أكن واهما فهو لديه خبرة في أوراكل عشرة سنوات لأني قد قرأت هذا في رد له في هذا المنتدى . فبارك الله فيه ، ولقد استفدت من الملف الذي أرسل إلى ابو عمر بأن اتبعت طريقته في التحقق من صحة التاريخ المدخل . وهو عبارة عن إجراء في نفس الملف . واستخدمت التالي مع أنه بقي فيه شيء واحد وهو التحقق من ألا تقل عدد الخانات المدخله عن 8 خانات :

PROCEDURE CHECK_HEJRI_DATE(HDATE NUMBER) IS

yyyy number(4) := substr(hdate,1,4);

mm number(2) := substr(hdate,5,2);

dd number(2) := substr(hdate,7,2);

BEGIN

if (yyyy not between 1300 and 1499) then

errmessage(102);

raise form_trigger_failure;

elsif (mm not between 1 and 12) then

errmessage(103);

raise form_trigger_failure;

elsif (dd not between 1 and 30) then

errmessage(106);

raise form_trigger_failure;

end if;

END;

الاخ : النبع ، بارك الله فيك وجزاك خيراً، ونحن في انتظار المزيد ففي الجعبة ما يفيد إن شاء الله .

_____________________________________

وعندي سؤال جديد إن سمحتمولي :

وهو : استخدم طابعة epson QL-2170 في طباعة التقارير وقد عرف نوع الورق بأنه US S ، ولكن بقي حرف لا أتذكره , ولكنت في بادئ الأمر طبعة بأحسن شكل ولكن بعد أيام وفجأة تظهر في الطباعة نصف التقرير ، فذهب إلى هوامش الصفحة فوجدته معينة 4 بوصة فأعدتها إلى 1 وطبعت بشكل جيد ، ولكن عندما أردت أن أطلب طباعة رجع الهامش إلى القيمة 4 بوصة ،وهكذا وكنت إذا أردت أن أطبع أولاً أذهب إلى الهوامش وأعدل الهامش إلى 1 ثم أطبع وهذا ممل . فهل عندكم رفع الله قدركم حل لهذا المشكله ؟ .

في انتظار الرد ...

#20

السلام عليكم

الاخ الفقير الى ربه

للتحقق من ان عدد الخانات المدخله 8 خانات.

if length (hdate) <> 8 then .....

والتاريخ توكل على الله ثم اعد قراءة ردي لسابق وجرب ادخال واستعلام وشف كيف يظهر التاريخ معك.

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

#21

بسم الله الرحمن الرحيم

لا داعي لكتابة كود للتحقق من طول الحقل، يمكنك إجبار المستعمل على إدخال الحقل كاملا بتحديد الخاصية fixed length إلى true، مع دعائي بالتوفيق.

كمال

#22

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

الاخ : ابو عمر

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

استاذ : كمال ، جزاك الله خيراً على هذه المعلومه . ولقد نبهتني بأن قبل أن أعمل أي كود يجب أن أطلع إلى خصائص الكائن item properties ، وشكراً.

هذا الموضوع مغلق.

مواضيع مشابهة