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

نجوم المشاركات

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      12

    • Posts

      9,814


  2. صالح حمادي

    صالح حمادي

    أوفيسنا


    • نقاط

      10

    • Posts

      1,745


  3. محمود_الشريف

    محمود_الشريف

    الخبراء


    • نقاط

      3

    • Posts

      1,846


  4. رؤوف1951

    رؤوف1951

    02 الأعضاء


    • نقاط

      3

    • Posts

      75


Popular Content

Showing content with the highest reputation on 27 ينا, 2017 in all areas

  1. السلام عليكم استأذن أستاذى الغالى بتوضيح مصور لطريقة الرسم البيانى بالأكسس والتى ما تصورت أن تكون بكل هذه البساطة أولا - سنقوم ببناء الاستعلام الذى نريد ونضع به الشروط التى نريد ثانيا - نجعل مصدر بيانات النموذج (form) هذا الاستعلام ثالثا - نقوم بتغير طريقة عرض النموذج من الخصائص كما بالصورة1 ربعا- عند فتح الفورم للمرة الأولى سيظهر بهذا الشكل كل ما علينا هو تحديد البيانات بمحورى البيانات من خلال السحب والافلات للحقول كما بالصورة 2 وأخيرا - من تبويب (تصميم - Design) بالامكان تحديد خصائص الرسم وأشياء كثيرة.
    2 points
  2. الدرس الثالث: الدالة Select Case تشبه الدالة Select Case إلى حد كبير الدالة If و لكنها تختلف عنها بالتعدد أي أنها تكون في الشروط المتعددة. طريقة الاستعمال: الصيغة الأولى: Select Case Expression Case Expression_1 Statement_1 Case Expression_2 Statement_2 Case Expression_n Statement_n End Select تقوم الدالة Select Case باختبار حالة الكائن أو المتغير Expression و مقارنتها أو مطابقتها مع الحالات الموجودة بداخلها. و عند تحقق الشرط مع إحدى الحالات يقوم البرنامج بتنفيذ التعليمة Statement التابعة لهذه الحالة. و عند عدم مطابقة الكائن أو المتغير لجميع الحالات فإن البرنامج لا يعطينا أي نتيجة. مثال1: كتابة الأرقام من 1 إلى 4 بالحروف Select Case me.le_nombre Case 1 Me.y = "واحد" Case 2 Me.y = "إثنان" Case 3 Me.y = "ثلاثة" Case 4 Me.y = "أربعة" End Select أضفنا مربع نص اسمه le_nombre لإدخال الأرقام و مربع نص اسمه y من أجل ظهور النتيجة. الصيغة الثانية: Select Case Expression Case Expression_1 Statement_1 Case Expression_2 Statement_2 Case Expression_n Statement_n Case Else Other_statement End Select في هذه الصيغة عند عدم تحقق الشرط مع جميع الحالات يتم إرجاع التعليمة الإستثنائية Other_statement مثال2: نفس المثال الأول Select Case me.le_nombre Case 1 Me.y = "واحد" Case 2 Me.y = "إثنان" Case 3 Me.y = "ثلاثة" Case 4 Me.y = "أربعة" Case Else me.y = "هذا الرقم غير موجود" End Select هذا عندما نضيف أي رقم يختلف عن 1 أو 2 أو 3 أو 4 يطبع لنا "هذا الرقم غير موجود" مثال 3: برنامج كتابة ملاحظات التلاميذ حسب الدرجة Select Case Me.Degre Case 0 To 30 Me.y = "ضعيف" Case 30 To 49 Me.y = "دون الوسط" Case 50 To 69 Me.y = "مقبول" Case 70 To 89 Me.y = "جيد جدا" Case 90 To 100 Me.y = "ممتاز" Case Else Me.y = "هذه الدرجة خاطئة" End Select هنا إستخدمنا To معناه إلى مثلا: من 0 إلى 30
    2 points
  3. ماشاء الله عليك اخوي صالح ، كفيت ووفيت ، وما بقيت لي شئ اكتبه التنسيق: وذلك بإستخدام زر الـ Tab (لتحريك السطر Indenting) ، و زر Enter (للإنتقال الى السطر التالي) تنسيق وتجميع مجموعات اللـ IF مهم ، وكلما كان تنسيقك افضل ، كلما قلّت اخطاءك ، وكلما استطعت الوصوت للخطأ بسرع في الصور كود لبرنامج أحد الاعضاء (واعتذر مسبقا من صاحب الاكواد) ، لاحظ طريقة عرض الكود ، بدون تنسيق ، وصعوبة معرفة بداية ونهاية الشرط IF : قبل التنسيق وسهولة القراءة بعد التنسيق . اما الكود التالي ، فذكرني بالكاريكاتير "ابحث عن فضولي" ، وهنا نبحث عن بداية ونهاية الشرط IF : . وتم تعديل التنسيق (تغيير الكود هو للتوضيح) الى: . هناك شيئين في التنسيق ، الاول: لاحظ انه من السهل معرفة بداية ونهاية كل شرط ، وحتى الشروط المتداخلة في الشرط الاصلي ، اصبح من السهل معرفة بدايتها ونهايتها ، ونافذة الكود تخبرنا 1: على اي سطر نحن (Line, Ln) ، و 2: في اي عمود (Column, Col) ، مما يساعدنا في عملية التنسيق . ثانيا: لاحظ اني عندما اقفل الجملة الشرطية End If ، فاني اكتب تعليق خلفها ، وهذا التعليق مأخوذ من جزء من بداية الشرط IF ، هذا يسهل عليّ كثيرا معرفة بداية ونهاية الجملة الشرطية: . جعفر
    2 points
  4. مثال على استعمال And: If UserName="أبو خليل" And Password=2017 Then MsgBox"مرحبا أستاذ أبو خليل" End If في هذا المثال إذا كان اسم المستخدم هو أبو خليل و كلمة المرور هي 2017 سوف يقوم البرنامج بعرض رسالة ترحيبية MsgBox"مرحبا أستاذ أبو خليل" و إذا إختل أحد الشرطين فلن يتم تنفيذ التعليمة. يعني لتنفيذ التعليمة يجب تحقق الشرطين في نفس الوقت. مثال على استعمال Or: If Died_Father=true Or Died_Mother=False Then MsgBox "يتيم" End If في هذا المثال يكفي تحقق أحد الشرطين ليتم تنفيذ التعليمة (رسالة تخبرنا بأن هذا الشخص يتيم) و إذا تحقق الشرطين معا أيضا يتم تنفيذ التعليمة إذا هناك شخص أبوه متوفي فهو يتيم و إذا كانت أمه متوفية فهو يتيم و إذا كان كلا والديه متوفيين فهو أيضا يتيم. ((((((اللهم أرحم جميع موتى المسلمين يا أرحم الراحمين يا رب العالمين))))))
    2 points
  5. الــدرس الثاني : الجملة الشرطية ( IF ) تعتبر الجملة IF من أشهر الجمل الشرطية و أكثرها استعمالا في جميع لغات البرمجة ولها عدة صيغ كلها تبدأ بــIf و تنتهى بكلمة End If ما عدى صيغة واحدة. وتستخدم الجملة IF لتنفيذ عمليات معينة حسب شرط محدد, يعني إذا تحقق الشرط ينفذ و إلا فلا. طرق استعمال الجملة ((if: 1- الصيغة ( If –Then ) : - وصيغتها العامة : IF condition THEN statements - ومعنى هذه الصيغة : انه اذا تحقق الشرط (condition ) فسيتم تنفيذ الامر ( statements ) مثال : " مسن" IF age >=65 THEN category = 2- الصيغة ( If – Then – End If ) : صيغتها العامة : IF condition THEN statements1 Statements2 END IF تقوم هذه الصيغة بتنفيذ مجموعة من الاوامر اذا تحقق الشرط (Condition) بدلا من تنفيذ امر واحد. مثال : If age >= 25 Then category ="شباب" travail ="السن مقبول" End if 3- الصيغة ( If – Then – Else ) : صيغتها العامة : If condition Then statements1(التعليمات المنفذة في حال تحقق الشرط ) Else statements2(التعليمات المنفذة في حال عدم تحقق الشرط) End If - هذه الصيغة تنفذ مجموعة الأوامر (statements1 ) عندما يتحقق الشرط (condition ) و عندما لا يتحقق الشرط فإنها تنفذ مجموعة الأوامر (Statements2). مثال : If grade >= 50 Then Text1 ="ناجح" Else Text1 ="راسب" End If 4- الصيغة ( If – Then –ElseIf ) : - صيغتها العامة : If condition1 Then statements1( التعليمات المنفذة في حال تحقق الشرط الأول) ELSEIF condition2 THEN statements2(التعليمات المنفذة في حال عدم تحقق الشرط الأول و تحقق الشرط الثاني) ELSE statements2(التعليمات المنفذة في حال عدم تحقق جميع الشروط السابقة) End If مثال : If grade >= 90 Then Text1 ="ممتاز" ElseIf grade >= 80 Then Text1 ="جيد جدا" ElseIf grade >= 70 Then Text1 ="جيد" ElseIf grade >= 60 Then Text1 ="مقبول" Else Text1 ="راسب" End If ملاحظات: - في الصيغة الأخيرة ( If – Then –ElseIf ) اذا تحقق احد الشروط فان البرنامج ينفذ العملية ثم يذهب الى نهاية الجملة و لا يتحقق من الشروط الباقية. - في حالة أردنا إستعمال شرطين معا أو أكثر نستعمل العبارة And. - في حالة أردنا تحقق أحد شرطين ليتم تنفيذ العملية نستعمل Or
    2 points
  6. السلام عليكم و رحمة الله تعالى وبركاته أساتذة و خبراء منتدانا الغالي حياكم الله أردت أن أنجز عمل بمعيتكم الكريمة . و هو إنجاز سلسلة دروس في vba الأكسس لتقوم إدارة المنتدى من بعد ذلك بتثبيت هذا الموضوع ليطلع عليه كل من يريد التعلم و يبقى صدقة جارية لكل من ساهم فيه و لو بحرف واحد. العمل سوف يقسم إلى مجموعة دروس مثلا : المتغيرات ,الجمل الإختيارية , الجمل التكرارية , الكائنات ......الخ. و سوف نحاول شرح جميع دوال و تعليمات VBA أكسس الموجودة مع إعطاء أمثلة في نهاية كل درس. على أن يتم تجميعه في الأخير مرتبا حسب تسلسل الدروس و لا يتم الإنتقال من درس لآخر حتى نستوفي كل ما نستطيع حول هذا الدرس. العمل المطلوب: كلما نبدأ في درس جديد. يقوم الأساتذة الكرام بتقديم الدوال و التعليمات التي تندرج تحت عنوان هذا الدرس و تقديم شرحها مع وضع مثال بسيط لإستعمال الدالة أو التعليمة على أن لا يتم تكرار الدوال و التعليمات الموجودة مسبقا في الدرس من قبل أحد الأعضاء. و قبل البدء أنتظر إقتراحاتكم فيما يخص طريقة العمل أو ترتيب دروس و عناوينها. و إن شاء الله غدا أو بعد غد سوف نبدأ بالعمل على بركة الله.
    1 point
  7. بسم الله الرحمن الرحيم كل عام أنتم جميعاً بخير ..... يوجد امتداد ملفات اسمه shs وهو خاص بميكروسوفت أوفيس Shell Scrap Object File وينتج هذا الملف عند نسخ نص من ملف وورد مثلا أو أي برنامج ضمن الأوفيس ثم لصق ما تم نسخه في مجلد وليس في ملف من جنسه هذا الامتداد كان يفتح بمجرد الضغط المزدوج بالفارة على الملف في أوفيس 2003 وويندوز إكس بي ولكن اختلف الأمر مع ويندوز 7 فهذا الملف غير مدعوم ولا يفتح مع برامج الأوفيس 2007 أو 2010 ............. ولمن عانى من هذه المشكلة واستكمالاً لسلسلة (ما خف وزنه وغلا ثمنه) أقدم لكم الحل الأكيد فقط اتبع التعليمات في المرفق وستجد كل شيء على ما يرام ..... ولا تنسوني من صالح دعائكم open .shs in win7.rar
    1 point
  8. السلام عليكم ورحمة الله وبركاته أخواني هذه مشاركة أردت بها تلخيص بعض الأكواد أرجو أن تفيدكم وهى ليست من تأليفي وإنما هى مما تعلمته في هذا الموقع الرائع لا تحرمنا من دعائكم بعض الأكواد البسيطة.rar First.rar Second.rar Third.rar
    1 point
  9. السلام و عليكم و رحمة الله و براكته ممكن حد يبرمج لنا برنامج لمراقبة الشاحنات تاريخ إنتهاء الضمان تريخ إنتهاء اوراق الشاحة .... إلى أخره و كدلك المصاريف الخاصة بالشاحنة
    1 point
  10. أخى الكريم أضفت لك طريقتين لتحديد نطاق الطباعه بموديول جديد أتمنى أن يكون بهم مرادك Book___2.rar
    1 point
  11. شكرا أخي صالح في الواقع انا لم ادرس البرمجة (نعم مادة الفورتران في بداية دراستي الجامعية) ، ولم ادخل في تدريب ، وحتى ما عندي رخصة سواقة الحاسوب وانما كل الذي عندي من تجارب عملية ، لذلك ترى الفرق واضح من طريقة عرضك للموضوع ، وطريقة عرضي جعفر
    1 point
  12. الــدرس الرابع: الجملة الشرطية ( IIF ) ( لقد قام أستاذي و أخي جعفر حفضه الله بتقديم هذا الدرس كله و أنا لم أفعل شيء سوى التنسيق و النشر فاللهم جازيه عنا خير الجزاء يا رب العالمين) طريقة استعمال ((iif: iif(expr, truepart, falsepart) iif(القيمة المطلوب تقييمها, اذا كان التقييم صح فستأخذ هذه القيمة, اذا كان التقييم خطأ فستأخذ هذه القيمة) مثال: Age=50 Age_Now = iif(Age=50 , "Yes it is", "No it is not") ميزاتها: نستطيع استعمالها في الكود ، والاستعلام نستطيع ان نضع اكثر من شرط واحد فيها مثال: Price=10 Qty=5 Sale_is= iif(Price* Qty = 50 , "Low sale", iif(Price * Qty = 100 , "Middle sale" , "Big sale")) عيوبها: الدالة تختبر جميع الحالات ، ولا تختبر القيمة الاولى وتخرج (مثل الـ IF): 1. المثال السابق ، مع ان اول تقييم هو الجواب الصحيح 10*5=50 ، إلا ان الدالة ستقوم بتقييم جميع الاختيارات ، مما يجعلها تأخذ وقت اطول للتقييم ، 2. بسبب اختبارها لجميع الحالات ، فيجب ان نكون دقيقين في وضع التقييم ، مثلا اذا اردنا اختبار قيمة مثال: Divide = iif(n2 = 0, MsgBox("القيمة صفر"), MsgBox(n1 / n2)) فاننا سنحصل على خطأ ، لأن الدالة تحققت من القيمتين ، والقيمة الثانية هي تقسيم رقم على صفر ، 3. بطيئه نوعا ما ، لأنها تحول الارقام الى Variant (رجاء مراجعة الدرس الاول للأخ صالح) ، ثم تقوم بالحساب ، 4. لا تستطيع ان تستخدم اكثر من 7 شروط في الاستعلام ، مثلا عندنا ارقام الاشهر ونريد نستخرج اسمائها ، 5. ببساطة مكن ان تخطأ في عدد الاقواس والفواصل ، 6. لا تستطيع قراءة ولا تغيير اي شئ بسهولة ، وخصوصا اذا كان عندنا اكثر من تقييم ، امثلة عملية: 1. اذا عندنا ارقام الاسبوع ، ونريد ان نستخرج ايامها ، فاذا عملنا الكود في الاستعلام مباشرة ، فسيكون صعب ، لذا ، فالطريقة التي اعملها انا هي: أ‌- عمل الكود في محرر VBA ، هكذا: لاحظ اني عملت اول شرط ونتيجة القيمة الصحيحة ، ثم انهيت السطر بخط سفلي _ (واللي معناه في البرمجة ان الكود سيتواصل في السطر التالي ، ثم انتقلت السطر التالي ، ونفس الشئ ، عملت الشرط التالي ونتيجة القيمة الصحيحة و.... كما سبق و... الى ان نوصل للسطر الاخير ، فوضعت الشرط الاخير ونتيجة القيمة الصحيحة والخطأ ، ثم حسبت كم قوس مفتوح ، فقفلت بنفس عددها: iDay = 2 Today_is = IIf(iDay = 1; "Sun"; _ IIf(iDay = 2; "Mon"; _ IIf(iDay = 3; "Tue"; _ IIf(iDay = 4; "Wed"; _ IIf(iDay = 5; "Thu"; _ IIf(iDay = 6; "Fri"; "Sat")))))) ب- والخطوة التالية ان نجعلها في سطر واحد ، حتى نأخذها للإستعلام ، وهي ان نحذف الاشارة _ ، لتكون النتيجة Today_is = IIf(iDay = 1; "Sun"; IIf(iDay = 2; "Mon"; IIf(iDay = 3; "Tue"; IIf(iDay = 4; "Wed"; IIf(iDay = 5; "Thu"; IIf(iDay = 6; "Fri"; "Sat")))))) . هكذا . 2. اذا عندنا سجلات الصف الاول والثاني ، واردنا معرفة عدد الطلاب لكل صف: iif([Section]= "A" ; 1;0) وهكذا تكون في الاستعلام: 3. اذا عندنا اكثر من 7 شروط (ارقام الاشهر نريد تحويلها الى اشهر) ، فهنا نضطر الى عمل وحدة نمطية: Function What_Month(M) Select Case M Case 1 What_Month = "Jan" Case 2 What_Month = "Feb" Case 3 What_Month = "Mar" Case 4 What_Month = "Apr" Case 5 What_Month = "May" Case 6 What_Month = "Jun" Case 7 What_Month = "Jul" Case 8 What_Month = "Aug" Case 9 What_Month = "Sep" Case 10 What_Month = "Oct" Case 11 What_Month = "Nov" Case 12 What_Month = "Dec" End Select End Function ونرسل لها ارقام الاشهر ، هكذا . والنتيجة
    1 point
  13. أخى الكريم أِِؤكد لك على قدر فهمى لطلبك تجد بالمرفقات كود بسيط جدا لعمل معاينة للصفحتين بنفس الشيت بالضغط على الزر تظهر الصفحة الأولى ومن ثم بعد الضغط على زر إغلاق تظهر الصفحة الثانية ___( لاحظ الفرق فى ظهور السطرين 13و14 باللون الأحمر فى الصفحة الأولى ويتم اختفاؤهما فى الصفحة الثانية ) Bookــــ1.rar
    1 point
  14. ما هي نسخة الأوفيس لديك وما إصدار الويندوز وهل الويندوز 32 بت أم 64 بت؟ وهل الكود لا يعمل على الإطلاق أم تظهر رسالة خطأ .. سيظهر في الفورم زر للتكبير وللتصغير وهذا ما يقوم به الكود ..أما زر الأمر المكتوب عليه "تصغير الفورم" فلا يرتبط بكود .. المزيد من التوضيح للمشكلة يساعد في حلها بسرعة وبكفاءة
    1 point
  15. تم التعديل على الملف كي يعمل مع ارقام الموظفين (في قائمة منسدلة غير مكررة) كذلك في حالة وجود اكثر من يوم عطلة يذكرها جميعها انظر الى الصفحة Salim من هذا الملف Off days salim.rar
    1 point
  16. السلام عليكم احذف الماكرو المسؤول عن تشغيل هذا التقرير
    1 point
  17. اخي الفاضل السلام عليكم ورحمة الله وبركاته ممكن ترسل لنا نسخة من البرنامج بصيغة 2007 او 2003 علي ما اظن انه يوجد امر في الكود لفتح التقرير لابد من الغائه صور لي الكود واسم التقرير
    1 point
  18. بارك الله فيك أخي الكريم رؤوف وجزاك الله كل خير لي بعض الملاحظات البسيطة وإن شاء الله تكون مفيدة .. الأفضل أن يكون هناك موضوع لكل درس تعليمي ويكون مركز في كود واحد أو موضوع واحد مع الشرح المستفيض بحيث تتم الاستفادة بشكل أكبر التنسيق للموضوع مهم جداً مما يجعل القاري منتبه للموضوع بشكل أكبر ضع الأكواد بين أقواس الكود ليظهر بشكل منضبط .. حاول تشرح الأكواد سطر سطر واضرب أمثله واطلب من الأخوة الأعضاء عمل تطبيق (عملي) .. أرجو أن تتقبل ملاحظاتي بصدر رحب تقبل وافر تقديري واحترامي
    1 point
  19. اخي الفاضل السلام عليكم ورحمة الله وبركاته ممكن ترسل لنا نسخة من البرنامج بصيغة 2007 او 2003
    1 point
  20. وعليكم السلام بسبب اني اشتغل على جهاز وندوز انجليزي ، والكثير من زبائني عندهم وندوز عربي ، لهذا السبب انا استخدم جدول خاص فيني اسمه tbl_Months ، حاط فيه الاشهر الانجليزية بالعربي ، والاشهر العربية ، والاشهر الشامية/العراقية ، والايام العربية والانجليزية ، وبهذه الطريقة اضمن ان الكل يرى ما اريد سواء على وندوز عربي وانجليزي . واذا كل شغلك على وندوز عربي ، فانت ما محتاج الى هذا الجدول نعمل استعلام نستخرج منه رقم اليوم . . الآن نربط جدول الاشهر tbl_Months مع الاستعلام السابق (هذا اذا تريد العمل على وندوز عربي وانجليزي) ، وفي الاستعلام عدة طرق للحصول على اليوم . . جعفر 557.test20.mdb.zip
    1 point
  21. أخى الكريم جرب هذا الملف New Microsoft Excel Worksheet__1.rar
    1 point
  22. أهلا وسهلا بك في هذا المنتدى أخي العزيز ارفق ملف الاكسل الذي صممته نريد ملف اكسل حتى يتم العمل عليه تحياتي
    1 point
  23. لا حرمنا الله منكم وزادكم فضلا وعلما وقد عمل عندى أيضا على 2010 ويبدو أن الخطأ كان بعدم اضافة مرجع access 14.0 object Library ملاحظاتى على الكود: 1- يجب اضافة هذا المرجع access 14.0 object Library 2- يجب أن تكون قاعدة البيانات الهدف قابلة لأخذ نسخة accde / أو Mde وذلك بعمل Compile Database جزاكم الله عنا خيرا - جمعة مباركة عليكم جميعا
    1 point
  24. وهذا رابط لنفس الموضوع ، وفيه مثال كنت عامله سابقا في منتدى الفريق العربي للبرمجة جعفر
    1 point
  25. السلام عليكم أخي صالح إطراء وتعقيب: الموضوع متكامل ، والتنسيق رائع والشئ الوحيد الذي لم تشر اليه هو (مأخوذ من برنامج الاكسس) ، هو خلط المتغير Expression Case 9, 11, 13 و Case 1 To 4, 7 To 9, 11, 13 . ومع ان تشبه الدالة Select Case إلى حد كبير الدالة If ، إلا ان المبرمجين المحترفين يفضلون استخدام Select Case على If جعفر
    1 point
  26. وعليكم السلام الله ان شاء الله يطول في عمرك معادلتك تقول شئ ، وكلامك يقول شئ آخر المعادلة تقول: اذا الحقل coodkind مو فاضي والحقل Size_Weight1 فاضي ، خلي النتيجة Siz_weight1 = Siz_weight يعني الكود يفحص الحقلين coodkind وSize_Weight1 ، ولا يفحص الحقل Siz_weight جعفر
    1 point
  27. وعليكم السلام هذا يابو عبدالله يعمل عندي على الاصدار 2003 جرب وغير امتداد الملفات لعله يعمل عندك Private Sub zer1_Click() CreateMDE End Sub Public Sub CreateMDE() Const strcMDBFullPath As String = "d:\db1.mdb" Const strcMDEFullPath As String = "d:\db1.mde" Dim objACC As Access.Application Set objACC = New Access.Application objACC.SysCmd 603, strcMDBFullPath, strcMDEFullPath objACC.Quit acQuitSaveNone Set objACC = Nothing End Sub main.rar
    1 point
  28. 1 point
  29. وعليكم السلام اختي شفت هذا الرابط ، وقد ينفعك جعفر
    1 point
  30. وعليكم السلام هلا بأخوي حربي بعدنا على عزومة الكاهي وباقلّه ودهن ولكن للعلم ، لا تستطيع ان تُظهر ملفات pdf في PictureBox ، وانما تعرضه في متصفح الانترنت ن للعم جعفر 556.za-EMP_webbrowser.mdb.zip
    1 point
  31. لكي تشكره تكدر تسجل اعجاب بمشاركته لكي يزداد نقاطه وبهذا تشجعه مع تقدير
    1 point
  32. وعليكم السلام حقول الارقام في الجدول معرّفة بـ Double ، والتي تُريك الذي تريده من الخانات العُشرة ، ولكنها تخفي الباقي (يعني الرقم في الواقع غير الذي تراه) فمعادلتك التالية لن تنجح في التعرّف (ولن ترى) بقية الخانات العُشرية Rsd_item: Nz([rsd])-Nz([S_Compo]) بينما اذا كنت عرّفت الحقول في الجدول بـ Decimal ، لما كانت لديك مشكلة ولحل مشكلتك الآن ، سنطلب من الكود تقريب الرقم الى 3 خانات عُشرية (لأني رأيت انك تُظهر هذه الخانات) لكل حقل ، ثم نطرح ، بهذه الطريقة نحن نعرف بالضبط الارقام التي نتعامل معها Rsd_item2: Round(Nz([rsd],0),3)-Round(Nz([S_Compo],0),3) جعفر
    1 point
  33. السلام عليكم ورحمة الله وبركاته أسعدني كثيرا تقدير الإخوة بالموقع خاصة أهل الخبرة منهم أدام الله الجميع اليوم سأتكلم عن موضوع تردد كثيرا بالموقع ألا وهو "الترحيل من فورم لشيت وبالعكس" ولا أدعي أني سأكتب افضل من الذي كتبه أستاذنا الكبير عبدالله باقشير وكثير من عمالقة الموقع ولكن من أسئلة الإخوة لاحظت أنها بسيطة وتحتاج للكلام في الموضوع من البداية وببطء فليسمخ لي أساتذنا بالموقع أن أخذ هذه الخطوة ولا يحرمونا من تصويبنا إن أخطأنا والله الموفق تدريب أولى للترحيل: افتح ملف جديد وقم بعمل فورم به أسمه User_Data وسم الورقة الأولى "Data" ضع على الفورم تكست بوكس ومفتاح سمى التكست بوكس "TxtBox1" واترك المفتاح كما هو ولكن اجعل Caption له "إدخال البيانات الجديدة" الآن أكتب الكود التالي في نافذة كود ThisWorkbook Private Sub WorkBook_Open() User_Data.Show End Sub هذا الكود تعاملنا معه سابق ومفهوم الغرض منه والآن في الفورم أنقر مزدوجا المفتاح واكتب في النافذة الظاهرة الكزد التالي وعملة توصيف عمل المفتاح Private Sub CommandButton1_Click() Dim ws As Worksheet Set ws = Worksheets("Data") ws.Cells(4, 2).Value = Me.TxtBox1.Value Me.TxtBox1.Value = "" Me.TxtBox1.SetFocus End Sub السطر الأول بداية الكود والسطر الثاني تعريف المتغيرات ودائما يبدأ بكلمة Dim، ثم السطر الثالث يسمى المتغير ws بالاسم "Data" ثم يأتى السطر الرابع ليبدأ عمل المفتا وهو يضع القيمة الموجودة في التكست بوكس في الفورم يحولها للشيت في الخلية بالسطر الرابع والعمود الثاني وقد يقول البعض هناك طريقة أسهل وانا معك ولكن سنحتاج هذه الطريقة لتكملة الملف فالصبر يا إخوان السطر الخامس يجعل التكست بوكس خاليا بعد ترحيل البيانات منه والسطر السادس يضع مؤشر الكتابة في التكست بوكس استعدادا للبيانات الجديدة أرجو التنفيذ وإبداء الملاحظات وإن تعثرتم فها فهذا هو ملف البداية SimplTransport.rar
    1 point
  34. ملاحظاتك ممتاز و في محلها و متممة للمعنى ربما هنا من يستعمل اللغة العربية في تعريف المتغير بهذا الشكل : Dim الرقم_الأول As Integer ملاحظة: - القيمه الإفتراضية للمتغيرات النصيه هي فراغ " " - أما القيمه الإفتراضية للمتغيرات الرقميه هي صفر 0
    1 point
  35. أحد الشروط التي التزم بها دائما ، هي كتابة اسم متغير مفهوم وله معنى ، مثلا: File_Name او How_Many ، بحيث بعد مدة لما أرجع لتصحيح الكود ، افهم ما هو عمل المتغير. والمحترفين يذهبون إلى ابعد من هذا ، فبالاضافة إلى استعمالهم مسمى مفهوم المعنى ، فإنهم يسبقون الاسم بحروف تدل على ان المتغير رقم أو كلمات ، هكذا: للارقام: intRows او nColumns ، وللكلمات: strName. واستغرب من بعض المتغيرات المستعمله في كود معقد مثل: a او b !! جعفر
    1 point
  36. على بركة الله نبدأ أول درس و ننتظر ملاحظاتكم حول أي شيء نسيته و هو متعلق بهذا الدرس أو أي معلومة أخطأت بها: الــدرس الأول : المتغيرات تعتبر المتغيرات النواة الأساسية أو حجر الأساس بالنسبة لكل برنامج في أي لغة برمجة كانت. يعني قبل البدأ يجب أن تقوم بتعريف المتغيرات التي تحتاجها و تحدد نوعها قبل كل شيء. 11- أنواع المتغيرت: هناك العديد من أنواع المتغيرات و كل نوع يخصص له حجم معين في الذاكرة. سوف نقوم بإضافة شرح جميع أنواع المتغيرات و الحجم الذي يأخذه كل نوع من الذاكرة: String: نص يتسع المتغير النصي إلى 2 جيجا بايت و كل حرف يشغل 1 بايت Boolean: ياخذ نوعين من القيم True و False (طوله 2 بيت ) Byte: بايت يكون رقم بين 0 من 255 (طوله 1 بايت) Integer : عدد صحيح (طوله 2 بيت ) قيمته من 32768- إلى 32767 Long : عدد صحيح طويل (طوله 4 بيت) قيمته من 2,147,483,648- إلى 2.147.483.647 Signal: عدد عشري (طوله 4 بيت) قيمته من 3.402823x1038- إلى 1.401298x10-45- للقيم السالبة و من 1.401298x10-45 إلى 3.402823x1038 للقيم الموجبة Currency: عملة (طوله 8 بيت) قيمته من 922،337،203،685،477.5808- إلى 922،337،203،685،477.5807 Double : مزدوج عدد عشري (طوله 8 بيت) قيمته من 1.79769313486231x10308- إلى 4.94065645841247x10-324- للقيم السالبة. و من 4.94065645841247x10-324 إلى 1.79769313486232x10308 للقيم الموجبة Date: نوع البيانات تكون على شكل تاريخ (طوله 8 بيت) يبدأ تاريخ vba من 1/1/100 حتى 31/12/9999 Object : لتخزين الكائنات التي تحتوي على خصائص و وظائف و يتم تعيينه بجملة set ويشغل في الذاكرة 4 بايت أو حسب خصائص و وظائف الكائن المحدد. و سوف نخصص درس لعرض أنواع الكائنات. Variant : لتخزين كل الأنواع السابقة ويمكن تخزين المصفوفات بداخله أيضاً 2- طريقة الإعلان عن المتغيرات: الإعلان عن متغير يعني حجز مكان في ذاكرة الكمبيوتر باسم هذا المتغير و يحدد حجمه حسب نوع المتغير. و يتم تعريف المتغير أو الإعلان عنه بواسطة العبارة DIM . مثال: Dim A as Integer للإعلان عن أكثر من متغير: Dim a,b as integer للإعلان عن أكثرمن متغير لأنواع مختلفة في نفس السطر: Dim A As Double, B As Integer 3- ملاحظات: - - يفضل الإعلان عن نوع المتغير لزيادة سرعة التعامل معه . - - المتغيرات التي لم تحدد نوعها يعمل فيجول بيسك علي الإعلان عنها تلقائيا من النوع Variant وهو أبطأ أنواع المتغيرات . - - بالنسبة للإعلان عن أكثر من متغير من نفس النوع بالطريقة التالي: Dim a,b as integer هنا b فقط من النوع integer أما a فهو في هذه الحالة يعتبر من النوع Variant يجب أن يتم التعريف بهذا الشكل: Dim a integer,b as integer أو Dim a as Integer Dim b as Integer 4- شروط تسمية المتغيرات: - - اسم المتغير يجب أن يبتدأ بحرف . - - يمكن استعمال الحروف التي تلي الحرف الأول رقم أو حرف أو الإثنين معا. - - لا يجب أن تكون هناك فراغات بين أسماء المتغير و يمكن استعمال الشكل التالي: id_user - - يجب عدم استعمال نقطة أو رمز خاص مثل ( ؟ ، * ، ) ، ( ، /......... إلخ ) ولكن يمكن استخدام الشرطة السفلية ( _ ) - - أن لا يكون اسم المتغير من الكلمات المحجوزة في الأكسس.
    1 point
  37. السلام عليكم ورحمة الله وبركاته أخواني هذه مشاركة أردت بها تلخيص بعض الأكواد أرجو أن تفيدكم وهى ليست من تأليفي وإنما هى مما تعلمته في هذا الموقع الرائع لا تحرمنا من دعائكم بعض الأكواد البسيطة.rar First.rar Second.rar Third.rar باقي الملفات Forth.rar Fifth.rar شاشة أفتتاحية.rar
    1 point
  38. بعض الأكواد البسيطة والمطلوبة بعض الأكواد البسيطة التى يسأل عنها الأخوة الأعضاء ووجدتها في موقعنا الحبيب أوفسينا فجمعتها بعد إذن كاتبيها وتكون هذه دعوة لباقى الأخوة وعمالقتهم لتزويدنا بأكواد جديدة أو مشابهة .. والله الموفق 1- فتح الملف على اليوزرفورم Userform. يمكن فتح الملف على فورم بدلا من صفحة الإكسل المعروفة بكود بسيط تجده في كثير من ملفات الأخوة بالموقع وخطوات ذلك كالتالي: أ‌- أضف للملف يوزرفورم وذلك في محرر الفيجوال بيسك من قائمة إدراج(Insert) نختار (UserForm). ب- في قسم المشروع (Project) انقر مزدوجا ThisWorkbook ب‌- في نافذة الكود اكتب الكود التالي Private Sub Workbook_Open() UserForm1.Show End Sub وهذا الكود ليس به إلا سطر واحد يأمر الإكسل بفتح الملف على اليوزر فورم وهذا السطر هو UserForm1.Show بعد انتهاء العمل نجد أن الملف يفتح على الفورم ونجد ان الفورم يمكن تحريكه في أي اتجاه كما يمكننا أن نغلقه من مفتاح الغلق في أقصى يمين الفورم من أعلى كما نلاحظ أن ملف الإكسل يظهر وراء الفورم. أنظر First.rar 2- فتح الملف على اليوزرفورم مع إخفاء صفحة الإكسل. رأينا في المثال السابق ولإخفاء ملف الإكسل ضف السطر التالي للكود السابق ليصبح الكود بالصورة أن الملف يفتح على الفورم لكن ملف الإكسل يظهر وراء الفورم Private Sub Workbook_Open() Application.Visible = False UserForm1.Show End Sub هذا السطر Application.Visible = False يجعل ملف الإكسل مخفيا انظر المرفق Second.rar 3- فتح الفورم على مقاس الشاشة. والأن.. ماذا نفعل لنفتح الفورم على مقاس الشاشة؟ تابع معي: الفكرة أن نجعل أبعاد الفورم مثل أبعاد الشاشة ولكن باختلاف المستخدمين للملف سيكون هناك أبعاد مختلفة من حاسوب وآخر ولذلك يمكن عمل الكود التالي: ()Private Sub UserForm_Activate With Application Me.Top = .Top Me.Left = .Left Me.Height = .Height Me.Width = .Width End With ونجد أن الكود يطلب أن يكون اتساع الفورم كما اتساع التطبيق وارتفاع الفورم كإرتفاع التطبيق والآن جرب الكود في نافذة كود الفورم. انظر التطبيق Third.rar ولكن قم بتحريك الفورم في كل الاتجاهات، هل يستجيب الفورم للحركة؟ 4- نثبت الفورم (الفريم) بحيث لايمكن تحريكه الى اي اتجاه. يمكن نثبت الفورم بحيث لايمكن تحريكه الى اي اتجاه وذلك بكتابة هذا الكود في نافذة كود الفورم. Private Sub UserForm_Layout() With Me .Left = Application.Left .Top = Application.Top End With End Sub انظر التطبيق Forth.rar 5- الغاء رمز الاغلاق(x). يمكن إلغاء عمل رمز الأغلاق في أفصى يمين أعلى الفورم بالكود التالي ولكن هذا أن يجعلك تستطيع إغلاق الفورم أو الإكسل ولذلك أقترح أن تضع على الفورم مفتاح تسمية "إغلاق" ويكون له كود فقم أولا بكتابة الكودين المرفقين ()Private Sub CommandButton1_Click Unload Me End Sub )Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer If CloseMode = vbFormControlMenu Then Cancel = True End If End Sub لاحظ أن هذا الكود سيمنع إغلاف الفورم من (X) ولكن يمكن إغلاق الفورم من زر إغلاق الذي أضفناه، وإذا أردنا إغلاق الفور وملف الإكسل معا نضع السطر التالي في كود المفتاح بعد "Unload Me": ActiveWorkbook.Close True انظر التطبيق Fifth.rar 6- عمل شاشة افتتاحية. يحتاج بعض مطورى البرامج لأن يبدأ عمل ملفه بظهور شاشة أفتتاحية فعلى سبيل المثال "نريد عمل صفحه تبدأ مع فتح ملف الاكسيل، ويكون بها ايقونات بمسميات الشيتات الموجوده بالملف، وعند الضغط على احد الايقونات يتم النقل الى الشيت المطلوب بعض النظر عن الشيت الذي أقفل البرنامج عليه" فهيا معا نبنى هذا التطبيق: أ‌- افتح ملف جديد ثم ضف إليه في الصفحة الأولى شكلين أكتب على الأول كلمة "الورقة الثانية" وعلى الشكل الثاني كلمة "الورقة الثانية" ثم أربط كل شكل مع ورقة العمل المناسبة لما كتب عليع وذلك ربطا تشعبيا" ب‌- كرر العمل في الورقة الثانية والثالثة مع تغيير ما يلزم. ت‌- أضف فورم للملف وضع عليه ثلاثة مفاتيح أكتب على الأول "الورقة الأولى" والثاني "الورقة الثانية" والثالث "الورقة الثالثة" ث‌- أكتب الكود التالي في مكان كود الفورم ()Private Sub CommandButton1_Click Unload Me Worksheets("Sheet1").Activate End Sub ()Private Sub CommandButton2_Click Unload Me Worksheets("Sheet2").Activate End Sub ()Private Sub CommandButton3_Click Unload Me Worksheets("Sheet3").Activate End Sub ج‌- اكتب الكود التالي في مكان كود "ThisWorkbook": ()Private Sub WorkBook_Open UserForm1.Show End Sub انظر التطبيق "شاشة أفتتاحية.rar" إخواني الأعزاء أسمحوا لي أن أتوقف هنا وإذا كنتم أستفدتم فسأكمل. والله الموفق ربنا يبارك فيك بحق الله اخي رؤوف1951 =============================================== بعض الأكواد البسيطة.rar =========================== سر على بركة الله واكمل
    1 point
  39. أخي ابراهيم.. تمام كده، لكن الطريق لا يخلو من المفاجآت والتفرعات والمشاكل التي تعرقل الوصول للهدف سنستعرضها لاحقاً.. خليك معانا
    1 point
  40. شكراً لتفاعلكم البناء.. نفس الفكرة كانت تراودني منذ فترة طويلة، وجربت طرق عديدة لكن لم أتوصل إلى أي نتيجة بسبب التعامل مع الماكرو الذي يعتبره الكمبيوتر على أنه فايروس، وكذلك عدم المقدرة على فتح الملف بأكثر من شخص، لذا لابد من التفكير بطريقة بدائية لتقسيم الملف ومن ثم إعادة تجميعه.. وقد قمنا في هذا المثال من تجميع بيانات من ملفات نصية (txt.*) وقراءتها باستخدام قائمة تجميعية، وكذلك تم توحيد مكان قراءة الملفات النصية حتى يمكن قراءتها لجميع المستخدمين دون أن يؤثر ذلك على مسار الملف المصدر (الإكسيل)، بمعنى أنه لو أنه تم نقل ملف الإكسيل إلى سطح الإكسيل مثلاً فإنه يتم قراءة الملفات النصية من مصدرها في الشبكة دون أن يفقد ارتباطها. وقبل أن ننقل الملفات إلى الشبكة سنجربها أولاً محلياً ، ومن ثم سنخبركم بما هو التغيير الذي يجب أن نفعله عندما ننقلها إلى الشبكة.. إليكم المرفقات، وقبل أن تبدأ انقل ملف الإكسيل مع المجلد إلى نفس المكان وليكن سطح المكتب مثلاً. my_sharing_files.rar أتمنى أن يشتغل معكم الملف كالتالي:
    1 point
  41. عزيزي ابو جمانة يبدو ان المشكلة عيب في الاكسس ! واتوقع اكبر دليل ان لديه اخطاء غير معروفة اتو بدالة iserror هنا مسالة الوصول لهدفك وهوجمع القيم خلال فترة يتم بطرق اخرى ! حتى في التصميم فمثلا ممكن تكون عنصر القائمة بديلا للنموذج الفرعي خصوصا ان فقط للعرض ! عالعموم ولكي لايعدل في برنامجك كثيرا والمضي بنفس السيناريو اليك هذه الفكرة : اعمل مربع نص رديف لكل مربع به الخطأ ساخذ مثلا مربع الخصم واسمه text16 اعمل مربع نص رديف له وبه التعبير التالي : =IIf(IsError([Text16]);0;[Text16]) وقم باخفاء مربع الخصم text16 ومن خلال خاصية مرئي من تبويب تنسيق ! جرب ولعله مسكن الى حد ما ! بالتوفيق
    1 point
×
×
  • اضف...

Important Information