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

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

  1. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      5

    • Posts

      12865


  2. حارث

    حارث

    عضوية شرفية


    • نقاط

      5

    • Posts

      15


  3. سليم حاصبيا

    سليم حاصبيا

    أوفيسنا


    • نقاط

      4

    • Posts

      8723


  4. الصـقر

    الصـقر

    الخبراء


    • نقاط

      4

    • Posts

      1836


Popular Content

Showing content with the highest reputation on 05/12/15 in مشاركات

  1. استاذى الحبيب السطر المذكور غير واضح لا بد من ارفاق الملف حتى يتثنى لنا شرح ما تريد ولكن على حسب ما فهمت من سؤالك Dim lr As Range set lr= Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) مثال أنا عندى بيانات ممتلئه بالخلايا A1:A5 وعايز البيانات الجديده تنزل فى الخلية a6 فلازم اعرف اخر سطر به بيانات وهو a5 ثم اضيف له 1 لنصل الى A6 هنا LR هى متغير وقلنا انه يساوى (Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0 (وذالك حتى يتم كتابة LR فىما بعد بالكود بدلا من الجمله دى كلها (Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0 اول جزئية وهى (Cells(Rows.Count, 1 cells تعنى الخليه واى خلية عند قرائتها لابد من اسم العمود ورقم الصف مثلا A1 تعنى الخلية اللى موجوده بالعمود A والصف 1 فى الكود انا عايز اشير الى اخر خليه بها بيانات فتنسيق كتابة الخليه كالتالى (العمود,الصف) Cells لذالك كتبنا (Cells(Rows.Count, 1 هنا رقم الصف غير معروف فقلنا بالكود Rows.Count اى عمل احصاء لعدد الخلايا الممتلئه بالبيانات فى العمود وطبعا العدد هيكون 5 العمود هو رقم 1 وممكن يكتب هكذا "A" اسم العمود داخل علامات تنصيص ( اذن هناك خيارين كتابة رقم العمود مثل 1 أو كتابة اسم العمود مثل "A" ) النتيجة طبقا للسابق هى (5,1) Cells ( يعنى الخلية الموجوده بالصف 5 والعمود 1 ) وهى A5 طيب انا بلف دا كله علشان اوصل الى الخلية A5 ليه علشان اقول له هى اخر خليه بها بيانات فنقوم باضافه (End(xlUp. Cells(Rows.Count, 1).End(xlUp) طيب دلوقتى الكود فهم ان اخر خليه بها بيانات هى A5 أنا بقى عايز انزل البيانات الجديده بالخلية A6 فبقوم بأضافه (Offset(1, 0. (Offset(1, 0. يعنى من الخلية A5 تحرك بمقدار صف واحد ونفس العمود وهو بمثالنا A وبكدا الكود هيوصل الى الخلية A6 السطر هيكون كدا Dim lr As Range set lr= Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) اتمنى اكون وفقت بالشرح وهى استفسار انا تحت امرك تقبل تحياتى
    3 points
  2. سبقنى الاستاذ ابو خليل بينما كنت اجهز المثال تجد فى المرفق قاعدة البيانات كما فى الصورة وبالخطوط التى تم استخدامها اتفضل.rar
    2 points
  3. تحتاج الى تحميل خط نقاط ثم تجعله هو الافتراضي في التقرير هذا كل شيء ملف الخط في المرفقات salman1.rar
    2 points
  4. شكرا لك اخى الكريم محمد ان تفسح المجال لطالب علم ما زال يحبوا لينهل من نبع علمكم حفظكم الله بصفتى مبتدى لسه هحاول اركب بنفسى صلاحيات على البرنامج بتاعى بدون الاستعانة ببرامج واكواد كبيرة وهكذا بص انا حددت الصلاحيات فى 3 كلمات admin editor visitor فكان كل واحد يسجل على البرنامج الخاص بى اعتبره زائر فقط يرى ويشاهد وغير مسموح له بالاضافة او التعديل فى السجلات ثانيا المحرر وطبعا انتم عارفين صلاحياته واخيرا الادمن وهو المسئل عن كل حاجة فى البرنامج بما فيهم لوحة التحكم الخاصة باعداات البرنامج الكلام السهل بس التنفيذ فى الاول انا كنت شايفه صعب بس انا عملت الاتى فى جدول المستخدمين ضفت حقل اسمه الصلاحيات مصدر بياناته قائمة منسدلة فيها 3 وظائف (الادمن - المحررر -والزائر ) وكل مستخدم له رقم تعريف يولد تلقائى . اما فى النماذج فى كل نموذج كان من الطبيعى ان يظهر اسم لمستخدم الحالى فقمت باضافة حقل مخفى بالرقم التعريفى وقمت باضافة حق اخر مخفى باسم الصلاحيات وقمت بعمل الاحداث المتسلسة الاتيه قمت بعمل استدعاء لصالحية المستخدم الحالى عن طريق اسمه ووضعت قيمى هذه الصلاحيه فى مربع النص المخفى (صلاحيات ) وعلى حسب القيمة الموجودة فى مربع النص كنت اضع الصلحيات بمعنى اذا كان المستخدم الحالى مارد وصلاحيته المسجله ادمن قم باستدعائها فى مربع النص المخفى وبعد استدعها قم باظهار الزر المخفى المسمى بلوحة التحكم وهكذا وشكرا انك وافقت انى اصدعك شويه انا ممكن ابعت مرفق
    1 point
  5. اليك هذا الماف ربما يكون الحل القوائم المنسدلة مطاطة (اي اسم تضيفه غير مكرر سوف يظهر بها) مجاميع.rar
    1 point
  6. السلام عليكم و رحمة الله اليك هذا الملف لعله المطلوب (من حواضر مكتبيتي) رزنامة الماضي و المستقبل.rar
    1 point
  7. السلام عليكم حل على السريع =IFERROR(VLOOKUP($A2;IF((index!$A$8:$A$29=resultat!$A2)*(index!$B$8:$B$29=resultat!$B2);index!$A$8:$F$29;"");COLUMN(index!C$7);0);"") help.rar
    1 point
  8. هذا هو مرفقك يا اخى الكريم به التقارير التى تريدها تقرير اجمالى وتقرير عن موظف معين ومتاسف على التاخير يعلم الله ما انا فيه رواتب.rar
    1 point
  9. جزاك الله خيرا متوقع لك ان تكون من اهم اعمدة المنتدى تمتاز بحسن الخلق وحسن الكلام والعلم الوافر زادك الله منه اريد طلب اخر هو ان اجعل عندما اكتب رقم الجلوس تظهر بيانات الشهادة .. لماذا؟ حتى يسهل البحث عن ايى شهادة بدلالة رقم الخلوس
    1 point
  10. السلام عليكم ورحمة الله وبركاته تم تطبيق الكود وبالفعل قام بحذف كافة التول بوكس الموجود في الشيت بوركت اخي أبو البراء على المساعدة وجزاك الله خيرا ولكم تحياتي
    1 point
  11. أستاذ محمد السلام عليكم حضرتك شوف الملف المرفق انا جربت اعمل مدى ديناميكي ومنه عملت قائمة منسدلة لفلترة العميل يعني أي عميل هتضيفه جديد أو تحذفه هينعكس على القائمة المنسدلة تلقائيا وبعدها استخدمت معادلة Sumifs بالشكل التالي =SUMIFS($I$11:$I$24,$D$11:$D$24,$A$27,$G$11:$G$24,D27) وبمجرد اختيار اسم أي عميل يتم جمع القيم المقابلة له من كل صنف ان شاء الله يفيدك الملف المرفق ولو بفكرة مبدئية طلب دالة تحدد كمية الصنف بعد التصفية.rar
    1 point
  12. قال رسول الله صلى الله عليه وسلم لاحد الصحابه كل يرى الناس من خلال نفسه فإن كننت ترانى هكذا فأنت اهل الخير وجميل النفس جزاكم الله خيرا على هذا الاطراء الذى لا استحقه فما انا الا مطور مبتدئ هاو اتعلم منكم وعلى يديكم فإن كان هناك من يستحق الشكر حقا هو الاستاذ مهند العبادى والله لا اعرفه ولم التق به يوما لا اعرف عنه سوى اسمه من البرنامج اسال الله له الخير والبركة فى العلم والرزق والذرية ان شاء الله واسال الله ان يستجب دعائى له هذا فهو بظهر الغيب فلا اعرفه ولا يعرفنى ولم التق به قط فى حياتى والاستاذ ابو خليل كذلك اسال الله له الخير والبركة فى العلم والرزق والذرية ان شاء الله فلم يتأخر الاستاذ ابو خليل عن رد سؤالى وتقديم النصح لى ومد يد العون عندما احتجتها فى هذا الشأن
    1 point
  13. اهلا باك اخ عبدالله دائما استفساراتك جميلة ومهنية ! فما بال الاستفسار التالي http://www.officena.net/ib/index.php?showtopic=41590&hl= حبذا تفيدنا كيف تصرفت ؟؟ نتشرف بالتعرف على محاسب محترف امثالك . تحياتي
    1 point
  14. كلام جميل جدا ! كلام صحيح لا غبار عليه ! واسمح لي باضافة : ما تم اختياره لا يظهر في القائمة !! تحياتي
    1 point
  15. وعليكم السلام ورحمة الله أهلا بك أخي الكريم.. نرجو الإلتزام بعناوين المشاركين مستقبلا وأن يكون العنوان يحمل مضمون سؤالك وعلى ذلك تم تعديل العنوان وأضف إليك ملاحظة هامة وهو أن تجعل مسميات الحقول والنماذج باللغة الإنجليزية أو الفرانكو وابتعد عن المسميات العربية والمسافات بين الكلمات سواء في الحقول أو النماذج والتقارير والاستعلامات...إلخ وابتعد أيضا عن المسميات الإنجليزية المحجوزة للأكسس مثل Name - Date وهكذا.. إليك هذه الملاحظة الهامة وهو أن تجعل عند إدراج صنف أن يأتي سعره من جدول البضاعة إلى جدول حركة البضاعة ولا تجعله - كما هو الآن - يظهر مباشرة من جدول البضاعة ؛ لأنك لو قمت بالتعديل على السعر سيتم التعديل في كافة الفواتير السابقة ويمكنك أيضا إضافة حقل الكمية المباعة في نفس جدول حركة البضاعة وذلك لفواتير المبيعات وتجعل حقل الكمية الموجود حاليا هو الكمية المشتراه.. باختصار تجعل جدول حركة البضاعة لفواتير البيع والشراء والمرتجع بتوفيق الله وإلى الأمام دائما بإذنه
    1 point
  16. ويوجد خط آخر في هذه المشاركة http://www.officena.net/ib/index.php?showtopic=25202#entry119121
    1 point
  17. السلام عليكم إخواني الكرام إليكم بالمرفق كود يقوم بعمل تقويم ميلادي للعام بأكمله أرجو أن ينال إعجابكم ، وينفعكم وينفع به المسلمين Create Calendar.rar
    1 point
  18. السلام عليكم حسب فهي لطلبك هو انك لا تريد تكرار الاصناف في الفاتورة و هناك طريقتين لتنفيذ المطلوب الاولى باستخدام الطريقة التقليدية رسالة تنبيه و كود يمنع المستخدم من تكرار الصنف الثانية هي ما ساقدمه لك ببساطة الافكرة تعتمد على مصفوفتين الاولى تحمل جميع الاصناف المخزنة في الداتا و الثانية من اجل تصفية وحذف الاصناف التي استعملت بالفعل ثم نقوم باعادت تحميل البيانات المفلترة من المصفوفة الثانية الى المصفوفة الاولى ؟؟؟؟ قد تقول لما ذا هته الفة لماذا لا تفلتر في المصفوفة الاولى في حد ذاتها جوابي ببساطة شخصيا لا اعرف طريقة لحذف عنصر معين من المصفوة الذي اعرفه هو مسح المسفوفة بالكامل وان كان هناك من الاعضاء المحترمين في المنتدى يعلمون الطريقة فياريت يعلمني بالطريقة نعود الى موضوعنا اولا عرف مصفوفتين ول يكن تعريفهما على عامت الفورم وليس على حدث او SUB ما Dim Arr1(), Arr2() ثانيا نحتاج الى كود يملئ لنا المصفوفة الاولى من قاعدة البيانات وفي نفس الوقت يملئ قوائم الاصناف في الفورم Sub Listcmd() Dim ws As Worksheet Dim Lrw As Long Set ws = ThisWorkbook.Sheets("setup") Lrw = ws.Range("A" & Rows.Count).End(xlUp).Row Arr1 = Application.Transpose(ws.Range("B2:B" & Lrw).Value) For i = 8 To 13 Me("ComboBox" & i).List = Arr1 Next End Sub اما هذا الكود Sub ListArr(cmd As String) Dim sTe As String: sTe = Me(cmd).Text Dim ii As Long, e As Long: e = 0 For ii = LBound(Arr1) To UBound(Arr1) If CStr(Arr1(ii)) <> sTe Then e = e + 1: ReDim Preserve Arr2(e) Arr2(e) = Arr1(ii) End If Next ii ReDim Arr1(e): Arr1 = Arr2 End Sub يقوم بمسح الصنف الذي ياخذه المتغير cmd من المصفوفة اخيرا كود به حلقة تكرارية تدور حول كل الكمبوبوكس الخاصة بالاصناف لـاخذ القيمة التي تحملها وتذهب بها الى الكود السابق لكي يحذف الصنف من القائمة الاصناف ثم يعيد تعبئة الكمبوبوكس بالاصناف الغير مستعملة فقط Sub FList() Listcmd For i = 8 To 13 If Me("ComboBox" & i) <> "" Then ListArr Me("ComboBox" & i).Name Next For i = 8 To 13 Me("ComboBox" & i).List = Arr1 Next End Sub ملاحضة الكود يقوم بارجاع الصنف المحذوف في حالة تغيره يعني لو استعملت الصنف سيحذف من القوائم لاكن لو غيرت الصنف الى صنف اخر سيحذف الصنف الجديد من القائمة ويستبدل مكانه الصنف السابق له ارجو ان اكون قد وفق ولو قليل في شرح الفكرة وان يكون فيها افادة للجميع تحياتي للجميع فاتورة مبيعات.rar
    1 point
  19. استاذ مختار /الدّالة التي اعطيتها يمكن ان تكرر المعطيات اليكم هذا الكود لهذا الغرض Sub rand_without_rep() Dim myrng As Range, cel As Range, x As Double Set myrng = Range("A1:A100") 'ممكن التغيير myrng.Value = "" If myrng.Count > 100 Then Exit Sub Randomize For Each cel In myrng 1 x = WorksheetFunction.RandBetween(1, 100) If Application.CountIf(myrng, x) Then GoTo 1 Else cel = x Next End Sub
    1 point
  20. السلام عليكم ورحمة الله وبركاته درس حول الـ elseif وطريقة بنائها فما هي الـ elseif ؟ عندما نريد التحقق من قيمة عنصر محدد فيمكننا استخدام الـ else if وهي هنا تختصر علينا كثيرا من الخطوات علما انه يمكننا ايضا استخدام if لوحدها بخلاف ما إن أردنا التحقق من قيمة عناصر مختلفة فنستخدم الـ if فـ elseif مشابهة نوعا ما لفكرة OR توضيح اكثر للفرق بينهما : الفرق هو أن الـ elseif مرتبطة بالــ if التي قبلها فإذا كان الشرط الذي قبلها صحيحاً لم تعمل وأما الـ if المنفصلة فليست مرتبطة بما قبلها وبالتالي فإنها تعمل دائماً وبالمثال يتضح المقال : 'elseif : if x=1 then ?=? elseif x=2 then ?=?? elseif x=3 then ?=??? else ?=????? end if في الكود اعلاه سيتم التحقق من if فان وجد الشرط والا انتقل الى elseif الاولى فان تحقق الشرط والا انتقل الى elseif الثانية .. لاحظوا اننا ادخلنا في النهاية else بقيمة معينة ففي عدم تحقق اي شرط من الشروط الثلاثة فإن الكود الموجود داخل else هو الذي سيعمل ....
    1 point
  21. أخى وحبيبى ابن مصر بعد اذنك حضرتك أخى أبو حبيبة وحنين ( ربنا يبارك لك فيهما ) الكود التالى هو نفس الكود اللى فوق مشاركتك تماما مع التعديل البسيط هو بيحذف كل البيانات فى الملف مع رسالة Private Sub Workbook_Open() Application.ScreenUpdating = False Application.DisplayAlerts = False If Date > #1/30/2015# Then For Each x In ThisWorkbook.Sheets x.UsedRange.Clear Next ThisWorkbook.Save Application.ScreenUpdating = True Application.DisplayAlerts = True MsgBox "sorry all data delated after 30/1/2015 " End If End Sub ضع الكود فى حدث المصنف واكتب أى بيانات فى أى شيت احفظ واقفل الملف ثم أعد فتحه لن تجد أى بيانات فى أى شيت تحياتى
    1 point
  22. شكرا لمرورك أخي الصقر نفعنا الله وإياكم بما علمنا وعلمنا ما ينفعنا
    1 point
  23. 1 point
  24. اخى الفاضل ازاى يعني لا يوجد كود، الكود لا يعمل من خلال زر أمر ... لكن بمجرد فتح الملف سيري ان كان تاريخ اليوم اكبر من التاريخ الذي حددته سيحذف بيانات الشيت .. غير ذلك يبقي الوضع كما هو عليه .... شاهد المرفق وعامة هذا هو الكود انشئ موديول جديد والصق به هذا الكود مع تغيير التاريخ للتاريخ الذي تريده Sub ClearSheet() Dim Ddate As Date Ddate = "28/02/2015" If Date > Ddate Then Sheet1.Cells.ClearContents End If End Sub وفي حدث فتح الملف الصق هذا السطر Private Sub Workbook_Open() ClearSheet End Sub تحياتي Code.rar
    1 point
  25. حبيبى الغالى ابن مصر الاستاذ احمد يشرفنى يكون اول رد منك وهقولك على سر لك انت لوحدك لو عايز تفتح البرنامج قبل الساعه 12 قرب ودنك كدا غير تاريخ الجهاز الى 1-1-2015م هيفتح معاك واوعى تقول لحد ههههههههههههههههه تقبل منى وافر الاحترام والتقدير
    1 point
  26. السلام عليكم ... قمت بعمل ملف xml وقمت بتشغيل ملف SWF بالميديا عندي وقمت بتجربته وعرض النتيجة المطلوب: كيفية عمل الملف الثالث (ملف html) كيفية رفع الثلاث ملفات على موقع على google sites
    1 point
  27. اخي الفاضل وعليكم السلام ورحمة الله يمكنك اتباع التالي: 1-عمل جدول للأصناف به بيانات الأصناف (كود الصنف-اسم الصنف-عدد الوحدات-السعر) 2-عمل جدول لرأس فاتورة المبيعات به البيانات التي تحتاجها في رأس فاتورة المبيعات (التاربخ-رقم الفاتورة-اسم العميل) 3-عمل جدول تفاصيل الفاتورة به (كود الصنف-الكمية-السعر-رقم الفاتورة) 4-تقوم بعمل علاقة بين رأس الفاتورة و تفاصيل الفاتورة بواسطة رقم الفاتورة و عمل علاقة بين تفاصيل الفاتورة والأصناف بواسطة كود الصنف. 5-تقوم بعمل استعلام لتفاصيل الفاتورة يحتوي علي (كود الصنف-اسم الصنف-الكمية-السعر-القيمة=السعر*الكمية) 6-تقوم بعمل نموذج رئيسي عمودي به بيانات جدول رأس الفاتورة. 7-تقوم بعمل نموذج فرعي جدولي به بيانات الأستعلام. 8-تقوم بفتح النموذج الرئيسي في عرض التصميم وتدرج به النموذج الفرعي وتربط بينهما بواسطة رقم الفاتورة. والله الموفق.
    1 point
  28. في المرفات خطوط الباركود والآداة ومثال اكسس ومثال وورد لطباعة الملصقات خارج اكسس ومفكرة تعليمات زيادة على الملاحظات والتعليمات في ثنايا الامثلة الموضوع قد اشبع بحثا وطرحا في المنتديات المتخصصة لمن اراد الاستزادة Barcode.rar
    1 point
  29. بسم الله الرحمن الرحيم تحية لجميع الإخوة في هذا المنتدى المبارك ، فالسلام عليكم ورحمة الله وبركاته أرغب أولا في مراجعة هذا الموضوع من الإخوة ، والنظر أيضا في الأمثلة وتصحيحها وتوضيحها وإكمالها والإضافة إليها، فالمقصد هو الفائدة .ثم بعد ذلك ينقل إلى مكانه المناسب إن رأيتم ذلك . وأرجو أن لا يكون الموضوع مكررا . سأستعرض هنا أفكارا أراها أساسية للمبتدئ في الأكسس ، تعينه على فهم الدوال وكتابتها ، وذلك ضمن عدد من النقاط : 1- ما هو الروتين الفرعي 2- ما هي الوظيفة . 3- متى تحتاج لكتابة روتين فرعي أو وظيفة. 4- مجال الوظيفة والروتين الفرعي . 5- الوسائط 6- معرفات الوسائط . 7- المتغيرات 8- أنواع المتغيرات . 9- المدى المكاني للمتغيرات . 10- قواعد عامة . المرجع في هذا الموضوع : 1- كتاب علم نفسك برمجة أكسيس 2002 2- مشاركة لأبي هاجر في منتديات الفريق العربي حول المتغيرات 3- بعض الاجتهادات والتصورات الشخصية
    1 point
  30. رابعا : مجال الوظيفة والروتين الفرعي . قد تكون الوظيفة أو الروتين الفرعي عامة وقد تكون خاصة . ومعنى كونها عامة أنه يمكن استدعاؤها من أي وحدة نمطية في البرنامج ، وذلك بأن تسبقها عبارة Public ، كما في المثال التالي : Public Function Fun2 ()As Byte ومعنى كونها خاصة أنه يمكن استدعاؤها من الوحدة النمطية التي هي موجودة فيها فقط . وذلك بأن تسبقها عبارة Private مثال : Private Function Fun2() As Byte عندما لا تحدد هل الوحدة النمطية عامة أو خاصة فإن البرنامج يعتبرها عامة . كما في المثال التالي : Function Fun2() As Byte
    1 point
  31. ثالثا : تحتاج إلى الروتين الفرعي والوظيفة لأحد سببين أو لكليهما معا : السبب الأول : تكرار بعض أسطر الأكواد في أكثر من موضع في البرنامج . فمثلا قمت بعمل نموذج يعرض التقويم وسميته frmCal وفي أكثر من موضع من البرنامج تحتاج إلى أن تكتب كودا يقوم بفتح هذا النموذج كمربع حوار ، ثم يستخلص التاريخ الذي يحدده المستخدم من خلال هذا النموذج ، ثم يدون هذا التاريخ في حقل ما . ليس من المنطقي أن تكرر كتابة الأسطر التي تحتوي على الأوامر السابقة كلما احتجت إليها ، لأن هذا عمل متعب أولا ، وثانيا لأنه يترتب عليه صعوبة تعديل الأكواد في حال حصول خطأ أو الرغبة في بعض الإضافات ، ولذا فالأفضل أن تكتب وظيفة تقوم بهذه الأوامر ، وتستدعيها كلما احتجت إلى استخدام نموذج التقويم في البرنامج . السبب الثاني : طول الكود . فأحيانا تكتب كودا طويلا جدا ، وتجد أن فهم الكود ومراجعته وتصحيحه وهو بهذا الطول فيه بعض الصعوبة ، لذا فمن المستحسن أن تقوم بتقسيم هذا الكود إلى عدد من الوظائف والروتينات الفرعية ، وتستدعيها واحدا تلو الآخر.
    1 point
  32. ثانيا : الوظيفة هي الدالة التي تحتوي على عبارة Function وتتكون من عدد من الأسطر مهمتها التوصل إلى قيمة معينة ويمكن أيضا أن تقوم ببعض الأعمال . ونلاحظ أن الفرق بين الوظيفة والروتين الفرعي أن الوظيفة تعطي قيمة ، أما الروتين الفرعي فلا يعطي قيمة وإنما ينحصر دوره في القيام بعمل . تبدأ الوظيفة بالسطر Function FunctionName() وتنتهي بالسطر End Function ولا بد من تسمية الوظيفة باسم على ما سبق بيانه في الروتين الفرعي . وبما أن الوظيفة تعطي قيمة لذا فمن المستحسن بيان نوع القيمة التي تعيدها الوظيفة ، وأنواع القيم هي نفسها أنواع المتغيرات ، وسيأتي بيانها . ومثال بيان نوع القيمة التي تعيدها الوظيفة Function MyNumber() As Byte فالوظيفة هنا تعطينا قيمة من نوع Byte. وفي حال لم يبين نوع القيمة كما في المثال قبل السابق فإن البرنامج سيعتبرها من نوع Variant
    1 point
  33. أولا : الروتين الفرعي : وهو الدالة التي تحتوي على عبارة Sub وتتكون من عدد من الأسطر تقوم بعمل محدد . يبدأ الروتين الفرعي بالسطر Sub SubName() وينتهي بالسطر End Sub ولا بد من تسمية الروتين الفرعي باسم يستدعى بواسطته ، ويمكن تسميته بأي اسم يرغب فيه المبرمج ما لم يكن هذا الاسم محجوزا . ويفضل أن يكون الاسم دالا على ما يقوم به الروتين الفرعي من عمل . فمثلا يمكن للمبرمج أن يسمى الروتين الفرعي بالاسم AAA بحيث يبدأ بالسطر التالي : Sub AAA() إلا أن اسم AAA لا يدل على ما يقوم به الروتين الفرعي من عمل ، لذا فالأولى أن يسمى باسم يدل عليه ، فمثلا لو كانت مهمة الروتين الفرعي هي فتح نموذج اسمه Form1 ، فيمكن أن يسمى بالاسم Sub OpenForm1()
    1 point
×
×
  • اضف...

Important Information