اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

ما هي مشكلة الكود التالي مع اكسيس 2003


الردود الموصى بها

استخدم الكود التالي مع اكسيس 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 من قبل )

رابط هذا التعليق
شارك

اخي غير الكود الى

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 ظهر نفس الرسالة ثم  كتبت الفيم بالبكسل و ظبت الكود

رابط هذا التعليق
شارك

السلام عليكم

اخي علي 

القياسات في الكود تكون بال twips  . في كل سم 567 و في  كل بوصة 1440 .

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

لوحة التحكم ثم اعدادات اللغة ثم الارقام ثم وحدات القياس وهنا لحظة ثم لحظة : حسب الويندوز عندك احيانا يكون خيارين وهو الغالب يا  metric ويقيس بالسانتي سم او usa ويقيس بالبوصة . قد يكون لديك خيارات اخري . 

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

وطبعا لاتضع الوحدة في الكود لانه سياخذ ال twip افتراضيا ضع الرقم المناسب بعد التحويل فقط . مع معلومية ان الحد الاقصى كما ظهر في رسالة الاكسس هو بين 0 وبين 22 بوصة او ما يعادل تقريبا 55 سم .

بالتوفيق

تم تعديل بواسطه ramhan
رابط هذا التعليق
شارك

شكرا  لكم اخوتي وجزاكم الله خيرا على ما تقدمونه 

 

تظهر هذه المشكلة في اوفيس 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
رابط هذا التعليق
شارك

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

متأسف على التأخر في الرد لانشغالي للتحضير لعدد من ورش العمل داخل المدرسة

 

 

قمت بالتجربة لما ورد من تعديلات ولكن بدون جدوى

 

سوف احاول التجربة على جهاز آخر

 

إن شاء الله

رابط هذا التعليق
شارك

هل ممكن اعرف الرقم الذي ظهر لك في المسج بوكس وعند النقر على القائمة ؟ والذي يمثل خاصية عرض الاعمدة ! 

رابط هذا التعليق
شارك

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

ولكن 

 

وجد المشكلة مع جميع النسخ العربية

عند كتابة الكود باستخدام  in. على نسخة اكسيس انجليزية وتجربة البرنامج على نسخة عربية لا يعمل الكود إلا اذا كتبت كلمة  بوصة بدلا من  in.

 

فما الحل

اريد نفس الكود يعمل مع اكسيس سواء بالنسخة العربية او النسخة الانجليزية

 

شكرا

رابط هذا التعليق
شارك

اخي علي ! الله يرضى عليك !

اولا لم ترد علي بما هو الرقم الذي خرج لك ؟

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

اخيرا : اذا ممكن ارفق مرفقا به المشكلة .لاطبق المشاركة رقم 3 كاملة . ثم اذهب به الى الجهاز الذي به المشكلة لنرى النتيجة.

 

بالتوفيق

رابط هذا التعليق
شارك

اخي علي ! الله يرضى عليك !

اولا لم ترد علي بما هو الرقم الذي خرج لك ؟

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

اخيرا : اذا ممكن ارفق مرفقا به المشكلة .لاطبق المشاركة رقم 3 كاملة . ثم اذهب به الى الجهاز الذي به المشكلة لنرى النتيجة.

 

بالتوفيق

متاسف اخي  ramhan على عدم الرد

 

شكرا لاهتمامك وجزاك الله خيرا

رابط هذا التعليق
شارك

الحمد لله قمت بعمل التالي واتحلت المشكلة

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

ولكن اطمع في حل مختصر

رابط هذا التعليق
شارك

اخي غير الكود الى

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.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information