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

ظهور رسالة خطأ Run-time Error 2145

بدأه kamal alnahhal في 4 أغسطس 2008 · 11 رد · 1,896 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أخوتي الأحباء

أسعد الله أوقاتكم

يوجد عندي مشكلة وهي عند تشغيل أحد نماذج قاعدة البيانات تظهر لي هذه الرسالة Run-Time Erorr 2145

هذا بالرغم بأن هذا النموذج فتح على جهاز آخر وبدون مشاكل.

هذا الصورة التي ظهرت

181908199.jpg

أنا بإنتظار ردكم وبارك الله بكم

Accounting_Application.rar

[يمين]

إذا كـان تـرك الـدين يعــنــي تقــدمــاً

فـيا نفــس مـوتــي قبــل أن تتقـدمــي

[/يمين]

#2

أخي الكريم،

هذا الخطأ ينتج عن إستخدام خاصية "ColumnWidths" أو خاصية عرض الأعمدة،

حيث أن الـ Code الخاص به يكتب بطريقتين:

الطريقة الأولى الإفتراضية (بإستخدام Semicolons):

Me.List.ColumnWidths = "2 cm; 2 cm"

والطريقة الثانية (بإستخدام Comma):

Me.List.ColumnWidths = "2 cm, 2 cm"

والأمر يعتمد على الإعدادات الإقليمية الموجودة في لوحة التحكم،

والتيت تختلف طبعا من جهاز إلى جهاز.

وحتى تتأكد من كلامي، قم بتغيير نوع الفاصلة على جهازك،

وسيظهر لك نفس الخطأ.

#3

أخي الغالي / كويت10

تحية طيبة وبعد ،،،،،،،،،،

جربت الطريقتين ولم تنجح

أشكراً على سرعة تجاوبك

تقبل اجمل تحياتي

[يمين]

إذا كـان تـرك الـدين يعــنــي تقــدمــاً

فـيا نفــس مـوتــي قبــل أن تتقـدمــي

[/يمين]

#4

أخي كمال الأمر يعتمد على إعدادات اللغة في لوحة التحكم،

وأنا متأكد من هذه النقطة،

لأن لدي في جهة عملي مختبر حاسب الآلي فيه أكثر من 26 جهاز حاسب آلي،

نستخدم فيه مختلف أنظمة التشغيل (XP-Vista-Ubuntu-etc)،

ويختلف كل جهاز عن جهاز آخر من ناحية إعدادات النظام وإعدادات اللغة،

ومشكلة مشابهة للمشكلة التي طرحتها،

سبق وإن واجهتها مع وظيفة "DateDiff"،

وبعد البحث والتحري وجدت أن المشكلة تتعلق بخاصية "List separator"،

الموجودة في لوحة التحكم.

تسألني هنا ما علاقة وظيفة "DateDiff" بخاصية "ColumnWidths؟

الإجابة: نستخدم في كلاهما "List separator".

اقتباس
بالرغم بأن هذا النموذج فتح على جهاز آخر وبدون مشاكل.

رأييي أن تتأكد من جهازك مرة أخرى، بالدخول إلى لوحة لوحة التحكم،

والتأكد من القيمة الموجودة بخيار "List separator".

post-70844-1217883061_thumb.jpg

#5

أخي الغالي كويت

ألف تحية وبعد ،،،،،،،

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

507593141.jpg

وهذه صورة الخطأ في كود البرمجة

405206325.jpg

متمنياً لك وللأخوه التواصل معي لحل هذه المشكلة

تقبل أجمل تحياتي وسلامي

[يمين]

إذا كـان تـرك الـدين يعــنــي تقــدمــاً

فـيا نفــس مـوتــي قبــل أن تتقـدمــي

[/يمين]

#6

كما تفضلت يبدو أن المشكلة عاصية على الحل،

أثناء بحثي في الـ Web وجدت هذا الرابط وهي تتعلق بنفس المشكلة (الخطأ رقم 2145):

أنقر هنا.

وقد ذكر فيه ما نصه:

اقتباس
List separator characters are defined in the Regional Settings section of Windows Control Panel

وهذا رابط آخر من موقع MSDN فيه شرح مسهب عن خاصية عرض الأعمدة:

أنقر هنا.

وقد ذكر فيه ما نصه:

اقتباس
To separate your column entries, use semicolons (;) as list separators (or the list separator selected in the List separator box on the Number tab of the Regional Options dialog box).

أخي كمال:

لقد قمت مشكورا بالتأكد من لوحة التحكم، ولم تجدي هذه المحاولة نفعا،

ما رأيك أن تغير نظام الفواصل في الـ Code نفسه (إستبدال الفاصلة المنقوطة بالفاصلة)،

عل وعسى تعرف سبب المشكلة،

لأن جميع الحلول الموجودة تدور حول هذه النقطة.

على أية حال أتمنى أن تفيدك هذه الروابط،

وأتمنى أكثر أن تصل لحل هذه المشكلة،

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

#7

الاخ الغالي كمال النحال

أعتقد ان كلام الاستاذ kuwait10

مظبوط

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

خطأ 2145

اقتباس
The ColumnWidths property setting must be a value from 0 through 22 inches (55.87 cm) for

each column in a list box or a combo box.@If there is more than one column, separate the

numbers with either a semicolon or the list separator character. List separator characters are

defined in the Regional Settings section of Windows Control Panel

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

واختصاراً للمقطع المذكور أعلاه يفيد بأن خاصية عرض الاعمدة يجب ان تكون قيمة مابين صفر وحتي 22 بوصة أي 55.87 سم لكل عمود واذا لدينا اكثر من عمود يجب الفصل ما بينهم من خلال semicolon أو list separator المعرفين في الاعدادات الاقليمية بالكنترول بانل

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

عموماً مرفق كتاب ErrorNumberAccess2007

وهو بصيغة PDF

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

التحميل من هنا

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#8

أحبائي الأعزاء

كويت 10

محمد تركي

تحية طيبة وبعد ،،،،

أولاً : أشكركم جزيل الشكر على جهودكم والله ما قصرتم

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

وهذه صور لبعض النماذج

294935674.jpg

وهذه الصورة مشتقة من النموذج السابق

698782904.jpg

وهذه الصورة مشتقة من النموذج السابق

145254490.jpg

أرجو أن يكون لديكم الحل علماً بأنني بحث في أدوات وخيارات ولم أجد شيئاً.

وأخيراً ... تقبلوا أجمل تحياتي

تم تعديل هذه المشاركة بواسطة kamal alnahhal في 5 أغسطس 2008 في 19:00

[يمين]

إذا كـان تـرك الـدين يعــنــي تقــدمــاً

فـيا نفــس مـوتــي قبــل أن تتقـدمــي

[/يمين]

#9

اخي العزيز كمال، يبدو بالفعل ان المشكلة في اوفيس..

ذهبت حسب طريقة الاخ Kwait الى اعدادات لوحة التحكم وكانت الخاصية List Separater هي الفاصلة بينما في الكود وفي اوفي اكسس لدي هي الفاصلة المنقوطة، ومع ذلك عمل البرنامج بشكل ممتاز اذ ان لدي نسخة اوفيس اجنبية، وكاملة،

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

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

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

همام

وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ

مواضيعي ومشاركاتي

#10

اخي الفاضل كمال النحال

اخواني الكرام

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

post-15367-1217958657_thumb.gif

اما في حالة اخونا كمال النحال فالوضع مختلف تماما فهو لديه 4 مستويات لعرض اعمدة القائمة فنلاحظ انه عند الضغط المزدوج على القائمة ينتقل مستوى عرض الأعمدة لوضع مختلف وتكون الطريقة الصحيحه في الكود هي بالبكسل وليست بالسنتمتر

post-15367-1217958750_thumb.gif

المستوى الأول

Sub GoToLevel1()
	CurrentDb.Execute "update tblDrillDown set tblDrillDown.CurLvl = 1"

	Me.List0.RowSource = "qrydrilldownlv1"
	Me.List0.ColumnCount = 4
	Me.List0.ColumnWidths = "0;2134;4536;2134"
	Me.List0.Requery
End Sub

المستوى الثاني

Sub GoToLevel2()
	CurrentDb.Execute "update tblDrillDown set tblDrillDown.Lv2Acctp = " & Me.List0
	CurrentDb.Execute "update tblDrillDown set tblDrillDown.CurLvl = 2"

	Me.List0.RowSource = "qrydrilldownlv2"
	Me.List0.ColumnCount = 4
	Me.List0.ColumnWidths = "0;4536;2234;2134"
	Me.List0.Requery
End Sub

المستوى الثالث

Sub GoToLevel3()
	CurrentDb.Execute "update tblDrillDown set tblDrillDown.Lv3Acc = " & Me.List0
	CurrentDb.Execute "update tblDrillDown set tblDrillDown.CurLvl = 3"

	Me.List0.RowSource = "qrydrilldownlv3"
	Me.List0.ColumnCount = 5
	Me.List0.ColumnWidths = "0;0;2134;4536;2134"
	Me.List0.Requery
End Sub

المستوى الرابع

Sub GoToLevel4()
	CurrentDb.Execute "update tblDrillDown set tblDrillDown.Lv4Yr = " & Me.List0
	CurrentDb.Execute "update tblDrillDown set tblDrillDown.Lv4Mn = " & Me.List0.Column(1)
	CurrentDb.Execute "update tblDrillDown set tblDrillDown.CurLvl = 4"

	Me.List0.RowSource = "qrydrilldownlv4"
	Me.List0.ColumnCount = 5
	Me.List0.ColumnWidths = "0;0;2134;4536;2134"
	Me.List0.Requery
End Sub

ايضا عند العوده لمستوى اعلى نضع مثل ما قمنا به سابقا للمستويات العليا

العوده للمستوى الأول

Sub BackToLevel1()
	CurrentDb.Execute "update tblDrillDown set tblDrillDown.CurLvl = 1"

	Me.List0.RowSource = "qrydrilldownlv1"
	Me.List0.ColumnCount = 4
	Me.List0.ColumnWidths = "0;2134;4536;2134"
	Me.List0.Requery
End Sub

العوده للمستوى الثاني

Sub BackToLevel2()
	CurrentDb.Execute "update tblDrillDown set tblDrillDown.CurLvl = 2"

	Me.List0.RowSource = "qrydrilldownlv2"
	Me.List0.ColumnCount = 4
	Me.List0.ColumnWidths = "0;4536;2234;2134"
	Me.List0.Requery
End Sub

العوده للمستوى الثالث

Sub BackToLevel3()
	CurrentDb.Execute "update tblDrillDown set tblDrillDown.CurLvl = 3"

	Me.List0.RowSource = "qrydrilldownlv3"
	Me.List0.ColumnCount = 5
	Me.List0.ColumnWidths = "0;0;2134;4536;2134"
	Me.List0.Requery

End Sub

حاول تغيير عرض الأعمده في الكود بما يتناسب معك فقد تريدها كبيره او صغيره

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

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

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

za_Accounting_Application_UP.rar

بالتوفيق لكم جميعا .

#11
اقتباس
اتمنى اني وضحت لكم ولو جزء بسيط عن هذا الأمر فقد يكون خافي على الجميع

بالفعل تثبت الاخت زهرة دائما انها مدرسة جامعة لكل مواضيع الاكسس..

وهذا يدل على اننا يجب ان نتانى دائما قبل التسرع والاجابة ،دون الدراسة والاطلاع على المعلومات المهمة كهذه..

همام

وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ

مواضيعي ومشاركاتي

#12

أختي الغالية / أم عهود

أخواني الاحباء

همام أبو عرقوب

محمد فؤاد تركي

كويت 10

اسعد الله أوقاتكم جميعاً

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

قلت من قبل وما زلت أقول أن عودة الأخت أم عهود الى المنتدى كعودة الدم في العروق فما زال أمامنا المشوار طويل وأدعوا لها بالخير وربنا يوفقها ان شاء الله

مرة أخرى أشكر الجميع وتقبلو أطيب تحياتي.

[يمين]

إذا كـان تـرك الـدين يعــنــي تقــدمــاً

فـيا نفــس مـوتــي قبــل أن تتقـدمــي

[/يمين]

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