علي المصري قام بنشر نوفمبر 23, 2014 قام بنشر نوفمبر 23, 2014 استخدم الكود التالي مع اكسيس 2013 ويعمل جيدا عندما استخدمته مع قاعدة بيانات نوع اكسيس 2003 ( MDB ) يعطي رسالة نصها ( ان عرض الأعمد في القوائم المنسدلة او Listbox تقع بين 0 سم و 22 سم ) Private Sub MyLang_Afterupdat() If MyLang = 1 Then With SName .RowSource = "SELECT * FROM QryStuNamesAr ORDER BY ID" .ColumnCount = 4 .BoundColumn = 1 .ColumnWidths = "2in.;0in.;0in.;0in." End With Else With SName .RowSource = "SELECT * FROM QryStuNamesEn ORDER BY ID" .ColumnCount = 4 .BoundColumn = 1 .ColumnWidths = "2in.;0in.;0in.;0in." End With End If End Sub فهل خاصية columnwidths لها طريقة اخرى في التعبير ( انا لا اعرف لاني لم اعمل على اكسيس 2003 من قبل )
ابو عارف قام بنشر نوفمبر 23, 2014 قام بنشر نوفمبر 23, 2014 اخي غير الكود الى Private Sub MyLang_Afterupdat() If MyLang = 1 Then With SName .RowSource = "SELECT * FROM QryStuNamesAr ORDER BY ID" .ColumnCount = 4 .BoundColumn = 1 .ColumnWidths = "2880,0,0,0" End With Else With SName .RowSource = "SELECT * FROM QryStuNamesEn ORDER BY ID" .ColumnCount = 4 .BoundColumn = 1 .ColumnWidths = "2880;0;0;0" End With End If End Sub حتى انا لا اعمل على اوفيس 2003 ولكن بعد تجربة الكود على 2007 ظهر نفس الرسالة ثم كتبت الفيم بالبكسل و ظبت الكود
رمهان قام بنشر نوفمبر 23, 2014 قام بنشر نوفمبر 23, 2014 (معدل) السلام عليكم اخي علي القياسات في الكود تكون بال twips . في كل سم 567 و في كل بوصة 1440 . اريدك قبل ان تكمل التالي ان تضع من خلال التصميم 1 لكل الاعمدة وحسب عددها والافضل ابدا بالتجربة لعمود واحد . ضع حدث عند النقر على مربع القائمة به مسج بوكس لخاصية عرض الاعمدة . سترى احد الارقام السابقة وهنا اعتمادا على : لوحة التحكم ثم اعدادات اللغة ثم الارقام ثم وحدات القياس وهنا لحظة ثم لحظة : حسب الويندوز عندك احيانا يكون خيارين وهو الغالب يا metric ويقيس بالسانتي سم او usa ويقيس بالبوصة . قد يكون لديك خيارات اخري . المهم انت وضعت الرقم 1 في التصميم وسيخرج لك رقم في الرسالة هذا الرقم هو معامل التحويل وضعه كثابت في بداية الكود . وطبعا لاتضع الوحدة في الكود لانه سياخذ ال twip افتراضيا ضع الرقم المناسب بعد التحويل فقط . مع معلومية ان الحد الاقصى كما ظهر في رسالة الاكسس هو بين 0 وبين 22 بوصة او ما يعادل تقريبا 55 سم . بالتوفيق تم تعديل نوفمبر 23, 2014 بواسطه ramhan
ابوخليل قام بنشر نوفمبر 24, 2014 قام بنشر نوفمبر 24, 2014 شكرا لكم اخوتي وجزاكم الله خيرا على ما تقدمونه تظهر هذه المشكلة في اوفيس 2003 النسخة العربية لذا لا بد من وضع الاطوال باللغة العربية جرب هذا الكود : Private Sub Form_Open(Cancel As Integer) sname.RowSource = "SELECT * FROM QryStuNamesAr ORDER BY ID" sname.ColumnCount = 4 sname.BoundColumn = 1 sname.ColumnWidths = "2.542سم;2.542سم;0سم;2.542سم;2.542سم" End Sub
علي المصري قام بنشر نوفمبر 25, 2014 الكاتب قام بنشر نوفمبر 25, 2014 السلام عليكم ورحمة الله وبركاته متأسف على التأخر في الرد لانشغالي للتحضير لعدد من ورش العمل داخل المدرسة قمت بالتجربة لما ورد من تعديلات ولكن بدون جدوى سوف احاول التجربة على جهاز آخر إن شاء الله
رمهان قام بنشر نوفمبر 25, 2014 قام بنشر نوفمبر 25, 2014 هل ممكن اعرف الرقم الذي ظهر لك في المسج بوكس وعند النقر على القائمة ؟ والذي يمثل خاصية عرض الاعمدة !
علي المصري قام بنشر نوفمبر 28, 2014 الكاتب قام بنشر نوفمبر 28, 2014 بعد التجربة وجدت ان طريقة الاستاذ أبو خليل هي التي أدت المطلوب ولكن وجد المشكلة مع جميع النسخ العربية عند كتابة الكود باستخدام in. على نسخة اكسيس انجليزية وتجربة البرنامج على نسخة عربية لا يعمل الكود إلا اذا كتبت كلمة بوصة بدلا من in. فما الحل اريد نفس الكود يعمل مع اكسيس سواء بالنسخة العربية او النسخة الانجليزية شكرا
رمهان قام بنشر نوفمبر 28, 2014 قام بنشر نوفمبر 28, 2014 اخي علي ! الله يرضى عليك ! اولا لم ترد علي بما هو الرقم الذي خرج لك ؟ ثانيا اشرت لك في المشاركة رقم 3 بعدم تضمين وحدة القياس في الكود وكنص . اتركه كرقم فقط . فالافتراضي في الاكسس يقيس بالكود ب twips . وعليك فقط باستخدام معامل التحويل في بداية الكود فقط . اخيرا : اذا ممكن ارفق مرفقا به المشكلة .لاطبق المشاركة رقم 3 كاملة . ثم اذهب به الى الجهاز الذي به المشكلة لنرى النتيجة. بالتوفيق
علي المصري قام بنشر نوفمبر 28, 2014 الكاتب قام بنشر نوفمبر 28, 2014 اخي علي ! الله يرضى عليك ! اولا لم ترد علي بما هو الرقم الذي خرج لك ؟ ثانيا اشرت لك في المشاركة رقم 3 بعدم تضمين وحدة القياس في الكود وكنص . اتركه كرقم فقط . فالافتراضي في الاكسس يقيس بالكود ب twips . وعليك فقط باستخدام معامل التحويل في بداية الكود فقط . اخيرا : اذا ممكن ارفق مرفقا به المشكلة .لاطبق المشاركة رقم 3 كاملة . ثم اذهب به الى الجهاز الذي به المشكلة لنرى النتيجة. بالتوفيق متاسف اخي ramhan على عدم الرد شكرا لاهتمامك وجزاك الله خيرا
علي المصري قام بنشر نوفمبر 29, 2014 الكاتب قام بنشر نوفمبر 29, 2014 الحمد لله قمت بعمل التالي واتحلت المشكلة Private Sub MyLang_Afterupdat() On Error GoTo MyLang_AfterUpdate_Err If MyLang = 1 Then With SName .RowSource = "SELECT * FROM QryStuNamesAr ORDER BY ID" .ColumnCount = 4 .BoundColumn = 1 .ColumnWidths = "2in.;0in.;0in.;0in." End With Else With SName .RowSource = "SELECT * FROM QryStuNamesEn ORDER BY ID" .ColumnCount = 4 .BoundColumn = 1 .ColumnWidths = "2in.;0in.;0in.;0in." End With End If MyLang_AfterUpdate_Err: If MyLang = 1 Then With SName .RowSource = "SELECT * FROM QryStuNamesAr ORDER BY ID" .ColumnCount = 4 .BoundColumn = 1 .ColumnWidths = "2 بوصة;0 بوصة;0 بوصة;0 بوصة " End With Else With SName .RowSource = "SELECT * FROM QryStuNamesEn ORDER BY ID" .ColumnCount = 4 .BoundColumn = 1 .ColumnWidths = "2 بوصة;0 بوصة;0 بوصة;0 بوصة " End With End If End Sub ولكن اطمع في حل مختصر
علي المصري قام بنشر ديسمبر 4, 2014 الكاتب قام بنشر ديسمبر 4, 2014 اخي غير الكود الى Private Sub MyLang_Afterupdat() If MyLang = 1 Then With SName .RowSource = "SELECT * FROM QryStuNamesAr ORDER BY ID" .ColumnCount = 4 .BoundColumn = 1 .ColumnWidths = "2880,0,0,0" End With Else With SName .RowSource = "SELECT * FROM QryStuNamesEn ORDER BY ID" .ColumnCount = 4 .BoundColumn = 1 .ColumnWidths = "2880;0;0;0" End With End If End Sub حتى انا لا اعمل على اوفيس 2003 ولكن بعد تجربة الكود على 2007 ظهر نفس الرسالة ثم كتبت الفيم بالبكسل و ظبت الكود إعتذار لابد منه للخبير أبو عارف لقد قمت بتجربة الكود الخاص بك مرة أخرى ووجدته صحيح ما عدا الفاصلة بين الأرقام الفاصل هي ; بدلا من , شكرا جزاك الله خيرا
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.