أخوتي الأحباء
أسعد الله أوقاتكم
يوجد عندي مشكلة وهي عند تشغيل أحد نماذج قاعدة البيانات تظهر لي هذه الرسالة Run-Time Erorr 2145
هذا بالرغم بأن هذا النموذج فتح على جهاز آخر وبدون مشاكل.
هذا الصورة التي ظهرت
أنا بإنتظار ردكم وبارك الله بكم
أخوتي الأحباء
أسعد الله أوقاتكم
يوجد عندي مشكلة وهي عند تشغيل أحد نماذج قاعدة البيانات تظهر لي هذه الرسالة Run-Time Erorr 2145
هذا بالرغم بأن هذا النموذج فتح على جهاز آخر وبدون مشاكل.
هذا الصورة التي ظهرت
أنا بإنتظار ردكم وبارك الله بكم
[يمين]
إذا كـان تـرك الـدين يعــنــي تقــدمــاً
فـيا نفــس مـوتــي قبــل أن تتقـدمــي
[/يمين]
أخي الكريم،
هذا الخطأ ينتج عن إستخدام خاصية "ColumnWidths" أو خاصية عرض الأعمدة،
حيث أن الـ Code الخاص به يكتب بطريقتين:
الطريقة الأولى الإفتراضية (بإستخدام Semicolons):
Me.List.ColumnWidths = "2 cm; 2 cm"
والطريقة الثانية (بإستخدام Comma):
Me.List.ColumnWidths = "2 cm, 2 cm"
والأمر يعتمد على الإعدادات الإقليمية الموجودة في لوحة التحكم،
والتيت تختلف طبعا من جهاز إلى جهاز.
وحتى تتأكد من كلامي، قم بتغيير نوع الفاصلة على جهازك،
وسيظهر لك نفس الخطأ.

المدونة: http://kuwait10.wordpress.com
أخي الغالي / كويت10
تحية طيبة وبعد ،،،،،،،،،،
جربت الطريقتين ولم تنجح
أشكراً على سرعة تجاوبك
تقبل اجمل تحياتي
[يمين]
إذا كـان تـرك الـدين يعــنــي تقــدمــاً
فـيا نفــس مـوتــي قبــل أن تتقـدمــي
[/يمين]
أخي كمال الأمر يعتمد على إعدادات اللغة في لوحة التحكم،
وأنا متأكد من هذه النقطة،
لأن لدي في جهة عملي مختبر حاسب الآلي فيه أكثر من 26 جهاز حاسب آلي،
نستخدم فيه مختلف أنظمة التشغيل (XP-Vista-Ubuntu-etc)،
ويختلف كل جهاز عن جهاز آخر من ناحية إعدادات النظام وإعدادات اللغة،
ومشكلة مشابهة للمشكلة التي طرحتها،
سبق وإن واجهتها مع وظيفة "DateDiff"،
وبعد البحث والتحري وجدت أن المشكلة تتعلق بخاصية "List separator"،
الموجودة في لوحة التحكم.
تسألني هنا ما علاقة وظيفة "DateDiff" بخاصية "ColumnWidths؟
الإجابة: نستخدم في كلاهما "List separator".
اقتباسبالرغم بأن هذا النموذج فتح على جهاز آخر وبدون مشاكل.
رأييي أن تتأكد من جهازك مرة أخرى، بالدخول إلى لوحة لوحة التحكم،
والتأكد من القيمة الموجودة بخيار "List separator".

المدونة: http://kuwait10.wordpress.com
أخي الغالي كويت
ألف تحية وبعد ،،،،،،،
أشكرك على مجهودك وسرعة تجاوبك ولكن المشكلة عاصية على الحل وهذه هي صورة الخيارات الاقليمية
وهذه صورة الخطأ في كود البرمجة
متمنياً لك وللأخوه التواصل معي لحل هذه المشكلة
تقبل أجمل تحياتي وسلامي
[يمين]
إذا كـان تـرك الـدين يعــنــي تقــدمــاً
فـيا نفــس مـوتــي قبــل أن تتقـدمــي
[/يمين]
كما تفضلت يبدو أن المشكلة عاصية على الحل،
أثناء بحثي في الـ 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 نفسه (إستبدال الفاصلة المنقوطة بالفاصلة)،
عل وعسى تعرف سبب المشكلة،
لأن جميع الحلول الموجودة تدور حول هذه النقطة.
على أية حال أتمنى أن تفيدك هذه الروابط،
وأتمنى أكثر أن تصل لحل هذه المشكلة،
وأن لا تنسانا بذكر طريقة الحل لتعم الفائدة وشكرا.

المدونة: http://kuwait10.wordpress.com
الاخ الغالي كمال النحال
أعتقد ان كلام الاستاذ kuwait10
مظبوط
لقد بحثت في مشكلتك كثيراً للوصول الي حل فوجدت هذه النتيجة والتي لا تختلف عن كلام السيد kuwait10 كثيراً
خطأ 2145
اقتباسThe ColumnWidths property setting must be a value from 0 through 22 inches (55.87 cm) foreach 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
لانه سيفيدك وسيرشدك في امور كثيرة قد تستعصي عليك


أحبائي الأعزاء
كويت 10
محمد تركي
تحية طيبة وبعد ،،،،
أولاً : أشكركم جزيل الشكر على جهودكم والله ما قصرتم
ثانياً : المشكلة مازالت ، ولكن الغريب في الأمر أنه عند تشغيل أكسس نسخة انجليزية يعمل البرنامج وقد جربتها على جهازين مختلفين ، أما النسخ العربية فتظهر رسالة الخطا السابقة والله الأمر محير ، فهل الأمر والمشكلة موجودة في الويندوز أم في الأوفيس؟ ومن خلال التجربة أعتقد أن المشكلة تكمن في الأوفيس وليس الويندوز ولا أعرف أين يكمن الخلل لمعالجته.
وهذه صور لبعض النماذج
وهذه الصورة مشتقة من النموذج السابق
وهذه الصورة مشتقة من النموذج السابق
أرجو أن يكون لديكم الحل علماً بأنني بحث في أدوات وخيارات ولم أجد شيئاً.
وأخيراً ... تقبلوا أجمل تحياتي
تم تعديل هذه المشاركة بواسطة kamal alnahhal في 5 أغسطس 2008 في 19:00
[يمين]
إذا كـان تـرك الـدين يعــنــي تقــدمــاً
فـيا نفــس مـوتــي قبــل أن تتقـدمــي
[/يمين]
اخي العزيز كمال، يبدو بالفعل ان المشكلة في اوفيس..
ذهبت حسب طريقة الاخ Kwait الى اعدادات لوحة التحكم وكانت الخاصية List Separater هي الفاصلة بينما في الكود وفي اوفي اكسس لدي هي الفاصلة المنقوطة، ومع ذلك عمل البرنامج بشكل ممتاز اذ ان لدي نسخة اوفيس اجنبية، وكاملة،
دائما اخي العزيز كمال انصح من يعمل في مجال البرمجة ان ينزل النسخة الاجنبية لانها اسهل في التعامل مع الكود، ومن ثم القيام بتثبيت حزم التعريب لها، وهذا ما افعله من اول يوم عملت به على برامج الاكسس،،
حتى الان المشكلة تتعلق باوفيس نفسه..
مع الشكر للاخ kwait على الجهود ومشرفنا العزيز محمد فؤاد على الكتاب..
همام
وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ
اخي الفاضل كمال النحال
اخواني الكرام
هذا الموضوع ليس له علاقة بإعدادات الويندوز او بالفاصلة المنقوطه لأن ما تتحدثون عنه هو خاص فقط بهذه الفقره الخاصة بحجم عرض اعمدة القائمة عند فتح النموذج فعندما تكون عرض الأعمدة صغير او كبير على البيانات تظهر هذه الرساله .
اما في حالة اخونا كمال النحال فالوضع مختلف تماما فهو لديه 4 مستويات لعرض اعمدة القائمة فنلاحظ انه عند الضغط المزدوج على القائمة ينتقل مستوى عرض الأعمدة لوضع مختلف وتكون الطريقة الصحيحه في الكود هي بالبكسل وليست بالسنتمتر
المستوى الأول
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
بالتوفيق لكم جميعا .
اقتباساتمنى اني وضحت لكم ولو جزء بسيط عن هذا الأمر فقد يكون خافي على الجميع
بالفعل تثبت الاخت زهرة دائما انها مدرسة جامعة لكل مواضيع الاكسس..
وهذا يدل على اننا يجب ان نتانى دائما قبل التسرع والاجابة ،دون الدراسة والاطلاع على المعلومات المهمة كهذه..
همام
وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ
أختي الغالية / أم عهود
أخواني الاحباء
همام أبو عرقوب
محمد فؤاد تركي
كويت 10
اسعد الله أوقاتكم جميعاً
أشكركم جميعاً من صميم قلبي لتفاعلكم معي وسرعة الرد والبحث عن حلول وهو بالفعل كان تحدي صعب للجميع والحمدلله تم حل المشكلة والذي أعجبني في البرنامج هي الفكرة والمبنية على القائمة وتغير عدد الاعمدة وسهولة الفكرة ولكن تطبيقها كانت صعبة بالنسبة لي والرسالة المزعجة التي كانت تظهر دوماً والحمد لله أن الأخت زهرة دخلت على الخط وحلت المشكلة كالعادة.
قلت من قبل وما زلت أقول أن عودة الأخت أم عهود الى المنتدى كعودة الدم في العروق فما زال أمامنا المشوار طويل وأدعوا لها بالخير وربنا يوفقها ان شاء الله
مرة أخرى أشكر الجميع وتقبلو أطيب تحياتي.
[يمين]
إذا كـان تـرك الـدين يعــنــي تقــدمــاً
فـيا نفــس مـوتــي قبــل أن تتقـدمــي
[/يمين]