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

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

  1. عبدالله باقشير

    عبدالله باقشير

    المشرفين السابقين


    • نقاط

      4

    • Posts

      4796


  2. أم عبد الله

    أم عبد الله

    الخبراء


    • نقاط

      4

    • Posts

      2166


  3. جمال عبد السميع

    جمال عبد السميع

    المشرفين السابقين


    • نقاط

      3

    • Posts

      3724


  4. أبو آدم

    أبو آدم

    أوفيسنا


    • نقاط

      2

    • Posts

      3292


Popular Content

Showing content with the highest reputation on 04/06/14 in all areas

  1. الحمد لله والصلاة والسلام علي معلم البشرية سيدنا محمد وعلي آله وصحبه أجمعين بتوفيق من الله وفضله وبتعاون مثمر بين فريق العمل وضعنا اول لبنة لمجلة اوفيسنا وغني عن القول ان مجال اهتمامها والتي يندرج تحته جميع المجالات التي تخدم المجالات النظرية والممارسات العلمية والتجارب المختلفة لبرامج الاوفيس بالإضافة الي جوانب الوجه الجديد للمعلوماتية وفي هذا العدد رأينا ان تمحور المجلة حول المسار المعلوماتي ان صح التعبير يكسبها التميز وامتزاج ابوبها بين صنوف المعرفة المختلفة . هي علي اية حال تجربة جديدة وطبيعي أن تثار بعض التساؤلات حول أي تجربة في بدايتها ومن هذا المنطلق فنرجو الا تبخلوا علينا بما لديكم من مقترحات وافكار قد تسهم في تطوير الاعداد القادمة ان شاء الله تعالى أو أي رؤى أخرى تساعد على التكيف مع روح العصر وتعقيداته. فهي منكم وإليكم، وهي الوسيط الذي يعكس تجارب النتاج العلمي والخبرة للمنتمين إلى منتديات اوفيسنا التعليمية . يطيب لي ان اقدم الشكر والثناء لجميع من أسهموا في اخراج هذا العدد الي حيز الوجود وجميع من كان لهم الاسهام في الفكرة والمادة العلمية والشروحات والتحرير والمراجعة والاخراج النهائي . والله من وراء القصد، وهو الموفق والهادي إلى سواء السبيل اخيكم // ضاحي الغريب
    2 points
  2. بارك الله لك أخي جمال وإذا سمحت لي باختصار المعادلة وإضافة عكس الجدول رأسيا فقد شعل بالي هذا الأمر قبل فترة وتوصلت له بالكود والمعادلات وهذه مساهمة بسيطة مني لإثراء الموضوع وفقنا الله وإياكم لكل ما يحب ويرضى عكس جدول بالمعادلات أفقيا ورأسيا.rar
    2 points
  3. الأستاذ / الكبير / الشهابي الأستاذ الفاضل / محمد أبو البراء الأستاذ الفاضل / أبو بهاء المصري السلام عليكم ورحمة الله وبركاته جزاكم الله خيراً على هذا العمل الممتاز والمجهود الكبير جداً المبذول فيه جعله الله في ميزان حسناتكم وزادكم الله من فضله وعلمه. وبالنسبة لاختيار الطالب الفصل الذي يريده سوف تجد مشاكل كثيرة جداً في هذا الموضوع عندنا بالمدرسة تختار الطالبة المواد الاختيارية ويتم ترتيب الفصول أبجدياً منعاً لأي مشاكل ويتم المجموعة الأولى والمجموعة الثانية أبجدياً وهذا يوفر كثيراً من الوقت وعدم المشاكل والطالبات المسيحيات يتم تقسيمهم على فصلين أو ثلاثة أو أكثر حسب عددهم ويكون في آخر الفصول وذلك لتجميعهم كلهم في حصة الدين لذلك يجب مراعاته في تقسيم الفصول .وبالفعل قبل الدارسة نقوم بعمل قوائم الفصول لأن الطالبة تختار المواد الاختيارية أثناء امتحانات الفصل الدراسي الثاني ومسئول الحاسب الآلي يعمل على قاعدة البيانات بالاكسس وكذلك الكنترول أكسس. هذا بمجرد رأي شخصي ولك مطلق الحرية.
    2 points
  4. الأستاذ / عزيز عرابي السلام عليكم ورحمة الله وبركاته إليك الملف بعد تطبيق الدالة الرائعة لأستاذنا الكبير علاّمة الوطن العربي / عبد الله باقشير جزاه الله خيراً وجعله الله في ميزان حسناته وزاده الله من فضله وعلمه. ___برنامج سجل الصف السابع1 - نسخة - نسخة - نسخة.rar
    2 points
  5. السلام عليكم ضع هذه المعادلة في الخلية B4 في ورقة السجل =IFERROR(VLOOKUP($B$1;OFFSET(INDIRECT(ADDRESS(6;2;;;$A4));;;42;16);8;0);"") واسحبها على الصفوف
    2 points
  6. إخواني الأعزاء هذا برنامج صغير لمتابعة الوثائق والتقرير عنها بأكثر من طريقة وبه إمكانية إضافة بيانات وثائق جديدة أو تعديل أو حذف الموجود مع إمكانية البحث بأكثر من طريقة إلى جانب وجود تقرير إفتتاحي عند فتح الملف بالوثائق المنتهية الصلاحية ومنه يوجد تقرير عن الساري الصلاحية وتقرير عن كل الوثائق لن أطيل الشرح وإن شاء الله تجدوه واضح وكلمة مرور فتح الملف هي 123 ويمكن تغييرها من داخل الكود . وقد وعدت أحد الإخوة بعمله بعد طرح فكرة التقرير الذي يظهر بالوثائق منتهية الصلاحية في مشاركة سابقة وكان ينقصه ظهور باقي الوثائق إن زاد عددها فأرجو أن يكون هذا مناسب . تقبلوا تحياتي أبو عبدالله برنامج نظام الوثائق.rar
    1 point
  7. السلام عليكم دالة استخراج تاريخ الميلاد او النوع او المحافظة من الرقم القومي ثلاثة معطيات بدالة واحدة Option Explicit ' بسم الله الرحمن الرحيم ' ******************** ' دالـــــــــــــــة ' Kh_Date_Sex_Province ' ( استخراج تاريخ الميلاد او النوع (ذكر - انثى ' او المحافظة من الرقم القومي '============================================== ' MyTest ' اذا كانت = 1 تقوم باستخراج تاريخ الميلاد ' اذا كانت = 2 تقوم باستخراج النوع ' اذا كانت = 3 تقوم باستخراج المحافظة '---------------------------------------------- ' MyProvinces في متغير الجدول ' العمل لم يستكمل بعد ' يمكنك إضافة المحافظات الاخرى الغير موجودة ' او تعديل الموجود في حالات الخطأ ' بنفس الطريقة الرقم اولا ثم "/" ثم اسم المحافظة ' : مثال على ذلك ' "01/القاهرة" '============================================== '----------------------------------------------------------------- Function Kh_Date_Sex_Province(MyNumber As Variant, MyTest As Byte) Dim MyProvinces As Variant Dim r As Integer Dim yy As String Dim ty As String * 1 Dim d As String * 2, m As String * 2, y As String * 2 _ , x As String * 2, xx As String * 2 '============================================== ' يمكنك إضافة المحافظات الاخرى الغير موجودة ' او تعديل الموجود في حالات الخطأ MyProvinces = Array("01/القاهرة", "02/الإسكندرية", "12/الدقهلية", "13/الشرقية" _ , "14/القليوبية", "15/كفر الشيخ", "16/الغربية", "17/المنوفية", "18/البحيرة" _ , "19/الإسماعيلية", "21/الجيزة", "22/بني سويف", "24/المنيا", "25/أسيوط" _ , "26/سوهاج", "27/قنا", "28/أسوان", "29/الأقصر", "33/مطروح") '============================================== Kh_Date_Sex_Province = "" On Error GoTo 1 If Len(Trim(MyNumber)) = 0 Then GoTo 1 End If If Not IsNumeric(MyNumber) Or Len(MyNumber) <> 14 Then Kh_Date_Sex_Province = "Error_MyNumber" GoTo 1 End If If MyTest = 1 Then d = Mid(MyNumber, 6, 2) m = Mid(MyNumber, 4, 2) y = Mid(MyNumber, 2, 2) ty = Left(MyNumber, 1) Select Case ty Case "2": yy = y Case "3": yy = "20" & y Case Else: yy = "" End Select If yy <> "" Then Kh_Date_Sex_Province = DateSerial(yy, m, d) ElseIf MyTest = 2 Then If Left(Right(MyNumber, 2), 1) Mod 2 = 1 Then _ yy = "ذكر" Else yy = "انثى" Kh_Date_Sex_Province = yy ElseIf MyTest = 3 Then x = Mid(MyNumber, 8, 2) For r = LBound(MyProvinces) To UBound(MyProvinces) xx = MyProvinces(r) If x = xx Then Kh_Date_Sex_Province = Right(MyProvinces(r), Len(MyProvinces(r)) - 3) Exit For End If Next End If 1: End Function بالنسبة لمعطيات المحافظات لم تستكمل بعد ويمكنك اضافة المحافظات المتبقية حسب ما شرحت بالكود خبور خير دالة استخلاص تاريخ الميلاد و النوع و المحافظة من الرقم القومي.rar
    1 point
  8. عذرا لهذه الغيبة الطويلة ولكن جميكم فى القلب والوجدان فتحية لكل أعضاء المنتدى العظام وكل زملائى وأساتذتى وأتمنى من كل قلبى أن يكون الجميع بألف خير وصحة منذ فترة طلب أحد الأعضاء ( عكس جدول بالكود ) وأعتقد هذا طلب فى منتهى البساطة لعباقرة هذا الصرح وخاصا عباقرة الأكواد ولكن أحببت أن أشارك ، وأضيف حل أخر عن طريق ( المعادلة التى أعشقها وأفضلها ) وكان هذا الحل طبعا القيم الموجودة إفتراضية والجدول بسيط ولكن إمكانيات المعادلة أكبر من ذلك والأن إلى الحل: عكس جدول بالمعادلات.rar
    1 point
  9. أخى الحبيب ( الفرس ) أستاذى ومعلمى ومثلى الأعلى وعبقرى الوطن العربى ( عبد الله بقشير ) أخى وصديقى وحبيب قلبى ( عباس الأبيض ) أخى الغالى وأسم غالى على قلوبنا جميعا ( زمزم ) أختى والأستاذة الرائعة الذى يفخر بها منتدانا لأعمالها المتميزة ( أم عبد الله ) أخى الجميل والمقرب إلى نفسى ( عادل أبو زيد ) الأستاذ الذى لم يخرج كل مواهبة وعبقريتة حتى الأن وأتوقع منه كل رائع وجميل أخى ( الشهابى ) الأستاذ القادم بقوة ذو الحس الراقى والذوق الرفيع " الفنان " ( محمد أبو البراء ) أخى الحبيب ( جلال ) إللى ليه طلب عنده وهو تغيير أسمه إلى العربية ليسهل تواصلنا معه لاأجد من الكلمات لكل أساتذتى وأخوتى وأصدقائى فى هذه الجامعة سوى " ماأسعدنى بأساتذة وأخوة أحبهم ويحبوننى فى الله ولله " بارك الله فيكم وجعل مشاعركم الرائعة هذه فى موازين أعمالكم تلميذكم العاشق لهذا الصرح بكل من فيه
    1 point
  10. أستخدم هذه المعادلة أخى فى خلية ( K8 ) ستحقق لك المطلوب =LOOKUP(2;1/(sheet1!$B$5:$B$19=$D$11);sheet1!$C$5:$C$19) تقبل تحياتى
    1 point
  11. هذه السمكة فأصطادها المرفق : http://www.mlfnt.com/do.php?id=1031598
    1 point
  12. السلام عليكم ورحمة الله تعالى وبركاته . أستاذي الفاضل ( أبو محمد عباس ) جزاك الله كل الخير وفتح لك كل أبواب النعيم والنور المبين . لقوله صلى الله عليه وسلم في حديث الدنيا والآخرة...... ]أو علم ينتفع به[ . هدا هو المطلوب للعمل بالملف . بارك الله فيك وسدد خطاك في الدنيا والآخرة ونفعنا وإياك بما علمتنا . إلى مسؤولي المنتدى العظيم . لكم مني جزيل الشكر والتقدير والاحترام . لله رجال صدقوا ما عاهدوا الله عليه ....
    1 point
  13. الساده الزملاء الافاضل السلام عليكم ورحمته والله وبركاته كنت أتمنى ان يكون المرفق التالى ان يكون ملف اكسيل بالملف المرفق صورة ضوئية لتسوية ضريبة الدخل على المرتبات وكذا ضريبة الدمغه العادية حتى يتضح عما يتم ارتجاليا وبين ماينبغى تطبيقه عمليا على أرض الواقع جزاكم الله خيرا ..... تقبلوا وافر احترامى وتقديرى
    1 point
  14. السلام عليكم مازلت تكتب الكود بطريقة خاطائة الكود يكون هكذا Sub Test1() ' ?CI?C? C????? ??I E???? C?O?? With 1 Lr = .Cells(.Rows.Count, 1).End(xlUp).Row For I = 1 To Lr Step 40 If .Range("M" & I) = 0 Then Rows(I & ":" & I + 39).EntireRow.Hidden = True End If Next End With End Sub Sub Test2() ' ?C??C? C????? C??I??E With 1 Lr = .Cells(.Rows.Count, 1).End(xlUp).Row For I = 1 To Lr If Rows(I).EntireRow.Hidden = True Then Rows(I).EntireRow.Hidden = False Next End With End Sub .انا لم ارفقه في الملف لكي تتعلم طريقة التركيب
    1 point
  15. الي من يضحي من اجل الغير وليس بالغريب فهو لكل اعضاء المنتدي قريب الي الاستاذ / ضاحي الغريب هذا مجهود كبير وعجيب جعلك الله لنا حبيب وزينك بالعود والطيب
    1 point
  16. الحل اننا نستعين باستعلام يضم الجداول جميعا وهو ما يسمى استعلام التوحيد انظر مثالك بعد التعديل db11.rar
    1 point
  17. بارك الله فيكم وجزاكم الله خيرا
    1 point
  18. السلام عليكم المصفوفات الجداول تعريف مبسط : التعامل مع اكثر من قيمة واحدة تطبيقات عملية الدرس الاول : المصفوفات Arrays rArr = Array("A", "B", "C") اذا اردنا ان نضع الصفيف هذا على صف واحد وثلائة اعمدة Sub kh_1() Dim rArr rArr = Array("A", "B", "C") Range("A1").Resize(1, 3).Value = rArr End Sub اذا اردنا ان نضع الصفيف هذا على ثلاثة صفوف وعمود واحد تعرفون الدالة TRANSPOSE إرجاع نطاق خلايا عمودى كنطاق أفقي، أو بالعكس. يجب إدخال TRANSPOSE كصيغة صفيف في نطاق به نفس عدد الصفوف والأعمدة، على الترتيب، مثل صفيف الأعمدة والصفوف الخاصة به. استخدم TRANSPOSE لتبديل الاتجاه العمودي والأفقي لصفيف في ورقة عمل. بناء الجملة TRANSPOSE(array) Array (الصفيف) هو الصفيف أو نطاق الخلايا في ورقة العمل التي ترغب في تحويلها. يتم إنشاء تحويل الصفيف باستخدام الصف الأول للصفيف على أنه العمود الأول للصفيف الجديد، والصف الثاني للصفيف على أنه العمود الثاني للصفيف الجديد، وهكذا. ============================================================ Sub kh_2() Dim rArr rArr = Array("A", "B", "C") rArr = WorksheetFunction.Transpose(rArr) Range("A1").Resize(3, 1).Value = rArr End Sub يتبع لمتابعة الموضوع افضل ان تضعوا هذه الاكواد في ملف الان نقوم باضافة فورم ونضيف التالي ListBox1 CommandButton1 CommandButton2 اضف هذه الاكواد للفورم Private Sub CommandButton1_Click() Dim rArr rArr = Array("A", "B", "C") Me.ListBox1.List = rArr End Sub Private Sub CommandButton2_Click() Dim rArr rArr = Array("A", "B", "C") Me.ListBox1.Column = rArr End Sub Private Sub UserForm_Initialize() Me.ListBox1.ColumnCount = 3 End Sub بعد فتح الفورم اضغط على الازرار CommandButton1 CommandButton2 ما هي النتيجة يتبع ============================================================= المصفوفة Array("A", "B", "C") من النوع Variant وذو البعد الواحد واول دليل لعناصرها LBound صفر وآخر دليل لعناصرها UBound عدد عناصرها ناقص واحد ونضيف عناصرها دفعة واحدة ============================================================= بعض الدالات للسلاسل النصية تعطي نتائج صفيف مثل SPLIT FILTER ناخذ مثال عن SPLIT Sub kh_Split() Dim MyAr MyAr = Split("عبدالله علي احمد باقشير") Range("A1").Resize(1, UBound(MyAr) + 1).Value = MyAr End Sub =========================================================== =========================================================== =========================================================== الدرس الثاني : الجداول المفهرسة عبارة عن متغيرات مفهرسة Indexed Variables تحتوي على بيانات عديدة من نفس النوع Data Type . كل مصفوفة لها اسم واحد يمكن استخدامه للرجوع إلى أي عنصر فيها وذلك باقتران هذا الاسم بدليل يمثل مكان العنصر فيها ، ويمكن انشاء مصفوفة لإحتواء أي نوع من أنواع البيانات مثل : النصوص والأعداد الحقيقية و الصحيحة وغيرها ، فأنواع البيانات المتوفرة في الفيجيوال بيسك هي : Data Type in VB: {Byte, Boolean, Integer, Long, Single, Double, Currency, Decimal, Date, Object, String, Variant, User-defined }. واستخدام المصفوفات في البرمجة يساعد في صناعة أكواد قصيرة وبسيطة ذات قوة كبيرة لأنه يمكن بناء Loops تتعامل بكفاءة مع المصفوفات مهما كان عدد عناصرها وذلك باستخدام دليل العنصر Index Number . ================================================= الخصائص الأساسية للمصفوفة في الفيجيوال بيسك : اسم المصفوفة يمثل عنوان Address في الذاكرة ؛ ولا يمكن تغييره أثناء تنفيذ البرنامج . يمكن الإعلان عن مصفوفة لأي نوع من أنواع البيانات بما في ذلك الأنواع المعرفة من قبل المستخدم User-defined type والـ Object Variables . كل وحدة بيانات منفردة في المصفوفة تسمى عنصر Element . جميع العناصر تكون من نفس النوع إلا في حالة الإعلان عن المصفوفة كـ Variant Data Type . جميع العناصر تكون مخزنة على التتابع في ذاكرة الحاسوب ودليل أول عنصر هو الصفر كـ Default ويمكن جعله 1 باستخدام جملة في بداية الوحدة النمطية Option Base 1 لكل مصفوفة حداً أعلى Upper bound ، وحداً أدنى Lower bound ؛ وعناصر المصفوفة تكون محصورة بين هذين الحدين . من الممكن أن تكون المصفوفة ذات بعد واحد أو متعددة الأبعاد . تحديد الحدين الأعلى والأدنى للمصفوفة Upper bound & Lower bound: عند الإعلان عن مصفوفة، يكتب الحد الأعلى بعد الاسم وبين الأقواس. لا يمكن أن يزيد الحد الأعلى عن نطاق نوع المتغير Long Data Type. الحد الأدنى الإفتراضي Default هو الصفر. اذا عرفت عن هذا المتحول بـــــ Limiteinf To LimiteSup في مكان الوسيط Indexs تكون قد عرفت جدولا بعدد عناصر محدد وبارقام دليل محددة وهذه الطريقة افضل للاستخدام للفهم السريع للوسيط Indexs Dim ay(1 To 3, 1 To 2) As String ----------------------------------------------------------------------------- ay(1 To 3, 1 To 2) لمعرفة الدليل الاول والاخير لليعد الملون بالاحمر للمتحول LBound(ay, 1) UBound(ay, 1) لمعرفة الدليل الاول والاخير للبعد الملون بالازرق للمتحول LBound(ay, 2) UBound(ay, 2) ================================================================== ================================================================== ملحوظة عند إضافة أبعاد المصفوفة فإن مساحة التخزين المطلوبة سوف تزيد زيادة كبيرة ولذلك ينبغي الاحتراس وتفادي استخدام النوع Variant قدر الإمكان لما يتطلبه من مساحة تخزينية كبيرة! ================================================================== ================================================================== المصفوفة ذات الحجم الثابت نعلن عنها بأحد أوامر الإعلان (Public or Private or Dim or Static) مع تحديد عدد العناصر في الأقواس Dim ay(1 To 3, 1 To 2) As String مثال 1: Sub kh_Array1() Dim ay(1 To 3, 1 To 2) As String ay(1, 1) = "A" ay(2, 1) = "B" ay(3, 1) = "C" ay(1, 2) = "D" ay(2, 2) = "E" ay(3, 2) = "F" Range("A1").Resize(3, 2).Value = ay End Sub مثال 2 جدول ضرب Sub KH_5() Dim sArr(1 To 12, 1 To 10) As Integer Dim ContRow As Integer, ContColmn As Integer Dim c As Integer, r As Integer ContRow = UBound(sArr, 1) ContColmn = UBound(sArr, 2) For r = 1 To ContRow For c = 1 To ContColmn sArr(r, c) = r * c Next Next Range("A1").Resize(ContRow, ContColmn).Value = sArr End Sub المصفوفات متغيرة الحجم Dynamic Array: في بعض الأحيان، لا نعرف مسبقاً حجم المصفوفة التي سنستخدمها في البرنامج بالضبط، وقد نريد تغيير حجم المصفوفة أثناء تشغيل البرنامج، هنا سنحتاج إلى المصفوفات ذات الحجم المتغير Dynamic حيث يمكننا تغيير حجمها في أي وقت. تعتبر المصفوفات متغيرة الحجم أحد مميزات الفيجيوال بيسك، وهي تساعد في تنظيم الذاكرة بكفاءة. فمثلاً، يمكن استخدام مصفوفة كبيرة لوقت قصير ثم إعادة تحجيمها لتحرير مساحة من الذاكرة عندما لا نحتاجها. وهذا من شأنه تسريع المعالجة. ولصناعة Dynamic Array نتبع التالي: نعلن عنها بأحد أوامر الإعلان (Public or Private or Dim or Static) ونجعلها ديناميكية بعدم كتابة أي رقم في الأقواس كما يوضح المثال التالي: Dim sArr() As String نعيد الإعلان عنها مع تحديد عدد العناصر باستخدام جملة ReDim كما في المثال التالي: ReDim sArr(1 To ContRow, 1 To ContColmn) ================================================================== ================================================================== ملاحظات هامة . كل جملة من جمل ReDim يمكنها تغيير عدد العناصر بالإضافة إلى الحد الأعلى والحد الأدنى لكل بعد للمصفوفة، ومع ذلك فإن عدد الأبعاد في المصفوفة لا يمكن تغييره. . تمحى جميع القيم المخزنة في المصفوفة كل مرة يعاد فيها تنفيذ جملة ReDim. ويجعل الفيجيوال بيسك القيم كالتالي: في حالة الــــ Variant Array --------- الى ----- Empty Value في حالة الــــ Numeric Array ------- الى ----- Zero في حالة الــــ String Array ----------- الى ----- Zero-Length String في حالة الــــ Array of objects ------ الى ----- Nothing وهذا مفيد عندما نريد تجهيز المصفوفة لبيانات جديدة أو عندما نريد اختزال حجم المصفوفة لتأخذ أقل مساحة ممكنة في الذاكرة. ================================================================== ================================================================== مثال 1: Sub KH_6() Dim sArr() As String Dim iName As String Dim ContRow As Integer, ContColmn As Integer Dim c As Integer, r As Integer, i As Integer Range("H7").Resize(14, 5).ClearContents iName = CStr([H4]) ContColmn = 5 With Range("B7").Resize(14, 1) ContRow = WorksheetFunction.CountIf(.Cells, iName) ReDim sArr(1 To ContRow, 1 To ContColmn) For r = 1 To .Rows.Count If CStr(.Cells(r, 1)) = iName Then i = i + 1 For c = 1 To ContColmn sArr(i, c) = CStr(.Cells(r, c)) Next End If Next End With Range("H7").Resize(ContRow, ContColmn).Value = sArr Erase sArr End Sub دروس المصفوفة 1.rar ================================================================== ================================================================== Erase تستخدم لتحرير الذاكرة المعينة للجداول الديناميكية واعادة تعيين عناصر الجدول الى قيمتها البدائية بطول ثابت مثال: Erase sArr ================================================================== ================================================================== تغيير حجم المصفوفة دون فقد بياناتها يمكننا فعل ذلك باستخدام جملة ReDim مع كلمة Preserve وتعني الحفظ الجملة التالية تغير حجم المصفوفة ولكنها لا تمحو العناصر الموجودة بها: ReDim Preserve MyArray( 10 ) والآن يمكننا كتابة ملخص متكامل لجملة ReDim. جملة ReDim: تستخدم في مستوى الـProcedure لإعادة تخصيص allocates مساحة تخزينية storage space لمصفوفة متغيرة الحجم Dynamic array. صيغتها Syntax: ReDim [Preserve] varname(subscripts) [As type] [, varname (subscripts) [As type]] ================================================================== ================================================================== ملاحظات هامة: جميع ما ذكر في الصيغة داخل قوسين مربعين [] يعتبر اختياري يمكن الاستغناء عنه حين عدم الحاجة إليه. تستخدم جملة ReDim لتحجيم أو إعادة تحجيم مصفوفة متغيرة الحجم Dynamic Array والتي بالفعل قد أعلن عنها مسبقاً باستخدام أي من الجمل Dim, Private, Public مع أقواس فارغة (أي بدون ذكر الأبعاد). يمكن تكرار استخدام جملة ReDim لتغيير عدد العناصر والأبعاد لمصفوفة، ومع ذلك لا يمكن الإعلان عن مصفوفة بنوع معين من البيانات ثم إعادة تعريفها لاحقاً مع تغيير نوع البيان لنوع آخر إلا إذا كانت المصفوفة محتواه في variant. إذا كانت المصفوفة محتواه في variant فإن نوع بيان العناصر يمكن أن يتغير باستخدام المقطع As Type إلا إذا استخدمنا كلمة Preserve ففي هذه الحالة لا يسمح بتغييرات. إذا استخدمنا كلمة Preserve يمكن فقط تحجيم البعد الأخير للمصفوفة ولا يمكن تغيير عدد الأبعاد على الإطلاق. إذا كان للمصفوفة بعد واحد فيمكن إعادة تحجيم هذا البعد لأنه البعد الأخير والوحيد بالمصفوفة. وإذا كان للمصفوفة بعدين أو أكثر فيمكن فقط تغيير حجم البعد الأخير مع الاحتفاظ بمحتويات المصفوفة. عندما نستخدم Preserve يمكن تغيير حجم المصفوفة بتغيير الحد الأعلى بينما ينتج لدينا خطأ حين تغيير الحد الأدنى. إذا صنعنا مصفوفة أصغر مما كانت فإن بيانات العناصر المخزنة سوف تفقد. تحذير: جملة ReDim ستعمل وكأنها جملة إعلان إذا كان المتغير (المصفوفة) التي تعلن عنه غير موجود على مستوى الـProcedure أو الـModule. وإذا كان هناك متغير آخر بنفس الاسم قد أنشئ بعد ذلك وحتى لو كان في النطاق ككل Scope؛ فإن ReDim سوف ترجع للمتغير الأخير ولن يتسبب عن ذلك خطأ في الترجمة Compilation error حتى ولو كانت جملة Option Explicit فعّالة. وبذلك لن يدرك المبرمج أنه هناك خطأ بالشيفرة code. ولتفادي هذا التعارض لا ينبغي استخدام جملة ReDim كجملة إعلان بدلاً من Dim مثلاً، ولكن نستخدمها فقط لإعادة تعريف حجم المصفوفة. ================================================================== ================================================================== توضيح اكثر لهذه الملاحظة إذا استخدمنا كلمة Preserve يمكن فقط تحجيم البعد الأخير للمصفوفة ولا يمكن تغيير عدد الأبعاد على الإطلاق. امثلة : للبعد الاخير ( الملون بالاحمر) هنا ثلاثة ابعاد البعد الاخير هو 15 ReDim Preserve X(10,12,15) ReDim Preserve X(10,12,15) هنا بعدين البعد الاخير هو 12 ReDim Preserve X(10,12) ReDim Preserve X(10,12) هنا بعد واحد إذا كان للمصفوفة بعد واحد فيمكن إعادة تحجيم هذا البعد لأنه البعد الأخير والوحيد بالمصفوفة ReDim Preserve X(10) ReDim Preserve X(10) حمل الملف الموجود في هذا الموضوع تطبيق عملي لما ذكر اعلاه http://www.officena....showtopic=42346 http://www.officena.net/ib/index.php?showtopic=42584 دروس المصفوفة 1.rar kh_SumProduct.rar دروس المصفوفة ( دالة لتوليد ارقام عشوائية).rar ((الشرح العلمي منقول من هنا وهناك)) تم بحمد الله وشكره
    1 point
  19. هذا تجميع لأهم الدروس والمواضيع المميزة بالمنتدى ضم روابط المواضيع المثبتة من أعمال معلمينا الفضلاء ومبدعينا في صفحة واحدة .. وذلك من باب التجديد والتغيير وإعطاء مساحة اكبر للمواضيع المتجددة .. *********************************************************************** أولا : توجيهات للأعضاء الجدد في المنتدى ثانيا : طلب من جميع الخبراء وجميع الاعضاء النشطاء الذين يتصدون للحلول وإجابة السائلين *********************************************************************** القسم الأول : الجداول والاستعلامات: الاستعلام الجدولي والمعايير تعامل-مع-ملفات-الاكسل-عن-طريق-الاستعلام-،-وبدون-كود-،-عن-طريق-استعلام-مسقط/ سِحر-جداول-الاكسس-في-تسجيل-الوقائع-عن-طريق-tables-data-macro/ القسم الثاني : النماذج: شرح أداة WebBrowser 1 2 شاشة انتظر من فضلك !! | سلسلة مهارات في أكسس | 06 | توسيط النماذج داخل النافذة أو الإطار طريقة إبداعية لتغيير خلفيات جميع النماذج إعادة تسمية العناصر الكثيرة دفعة واحدة في النموذج بأسماء متسلسلة مثل : ( Box2 , Box1 , ... ) ⭐ كيف تغير اللغة في برامجك ⭐ ✨💻 صفحة رئيسية متطورة بقائمة جانبية وأزرار فرعية ⭐ التحكم الكامل فى واجهة اكسس ( تصغير بجوار الساعة - توسيط - اخفاء - تغيير أيقونة شعار أكسس ) فصل الارقام مثل (الرقم القومى/الهوية) - الرقم التآمينى .. الخ القسم الثالث : التقارير: مسقط التقارير او صانع التقارير انشاء شريط طباعة للتقرير القسم الرابع : الماكرو والوحدات النمطية VBA: إنشاء دروس VBA أكسس كشكول VBA ترجمة النصوص وتحويلها إلى صوت في vba باستخدام جوجل دالة لحساب أيام الحضور والغياب .. وفكرة عد القيم النصية في حقول السجل الواحد :: اجعل برنامجك يعمل على النواتين 32بت و 64بت اجعل برنامجك يعمل على النواتين 32بت و 64بت _ طريقة ثانية دوال عامة وافكار مختلفة ( بداية مهمه لتسجيل الاخطاء) دوال عامة وافكار مختلفة ( FileDialog ) دوال عامة وافكار مختلفة ( بداية مهمه لتسجيل الاخطاء) دوال عامة وافكار مختلفة ( FileDialog ) (ImmediateWindowHelper) تفقيط عام متعدد : تحويل الارقام وقيمة ارقام العملة أو ( عملات متعددة ) الى نص مع التفقيط باللغة العربية ولغة اخرى منتقى التواريخ "Date pickers" إصدار-جديد-فكرة-بسيطة-لطباعة-أو-إظهار-رسائل-بنتائج-الأكواد-مع-إمكانية-التفعيل-والتعطيل/? التحكم-الكامل-فى-واجهة-اكسس-تصغير-بجوار-الساعة-توسيط-اخفاء-تغيير-أيقونة-شعار-أكسس/ متعقب-التغييرات-الذكي-2024 اداة البحث المتعددة الوظائف مُطَهَّرُ النُّصُوصِ الْعَرَبِيَّةِ ( ازالة المسافات الزائدة و التشكيل و تنظيف النصوص - و توحيد الاشكال المختلفة للأحرف ) مُطَهَّرُ النُّصُوصِ الْعَرَبِيَّةِ الاصدار 2 ( ازالة المسافات الزائدة و التشكيل و تنظيف النصوص - و توحيد الاشكال المختلفة للأحرف ) أتمتة عمليات الضغط وفك الضغط للملفات و المجلدات (WinRAR / Seven Zip ) تنفيذ الأوامر والملفات في بيئة Windows مع تحكم دقيق في العمليات القسم الخامس : قواعد البيانات SQL وما يتعلق بها: أكسس و اسكيوال سيرفر Access with Sql Server الأكسس و SQL جُمل SQL مشاركة قاعدة البيانات على الانترنت بواسطة SQL Server [تطبيق] تحويل قاعدة بيانات اكسس الى SQL Server (الجزء الاول _ الجزء الخامس) ربط الاكسيس ب php القسم السادس : البرامج والأدوات والإضافات: إدارة الجداول المرتبطة ، أداة وشروحات نظام مراسلة واشعارات شبيه بالفيس بوك معالج بحث وتصفح مسقط التصفح كارنيهات باستخدام باركود ماتركس - QR code محاكاة برنامج واتساب بالاكسس .. هدية لاوفيسنا القائمة المختصرة - Shortcut menu ارسال رسائل whatsapp (وتساب) بدون حفظ الرقم رسائل whatsapp (وتساب) في اكسس رسائل whatsapp (وتساب) بدون حفظ الرقم ( الكاتب الذكي لدوال المجال في أكسس Dloockup, DCount, DMax, DMin, Dfirst, DLast , DSum, DAvg) ⭐⭐(( مكتبة الأكواد الخاصة )) :: الإصدار الثاني 2.0 ⭐⭐ ، /// ، مكتبة الأكواد الخاصة | سلسلة هدايا الأكسس | 04 | 🎁 - 📟 آلة حاسبة 📟 - هدية مميزة مفتوحة المصدر 🎁 🖌️✏️👨😉🧑‍💻 ... برنامج دردشة بين المستخدمين على الشبكة ... 👨‍💻🧑‍💻✍️😊✏️🖊️ 🎁 :: هديتي لكم :: 🌷📨 >> برنامج مرسال الواتسأب - مع المرفقات - << ✉️ 🙂🌷💌 🎁 :: مرسال الواتسأب :: 📨 :: الإصدار الثاني 2.0 :: مطور :: 🧬🏹 🎁 هدايا الأكسس ✨ | 03| زاد المثابر للحصول على أسماء العناصر في أكسس | أداة رائعة للمطورين 🧛🏻‍♂️ [الاصدار الثاني] ارسال رسائل جماعية لعدد x من المستخدمين على الواتس اب في الاكسس هدية: برنامج تصدير بيانات من جداول/استعلامات اكسس الى اكسل ، 32بت و 64بت هداء لكم برنامج بسيط للديون والسداد 🟢 واتساب ويب web.watsapp 🟢 هدية : تصدير كائنات دفعة واحدة الى قاعدة أخرى أو حسب إختيارك 🧮 الكاتب الذكي لدوال المجال |::| 📜 نسخة مطورة ومحدثة |::| 😊 الإصدار الثاني 2.0 ⭐ كيف تغير اللغة في برامجك ⭐ اختيار صورة من (Shell32.Dll) وحفظها بمجلد وبجدول وعرضها طريقة ابداعية للتحديث من خلال الانترنت تغيير لغة النظام في Unicode القسم السابع : الأفكار والنصائح والتوجيهات: مواضيع مهمة .. قراءة وتفكيك بيانات الحقل الى حقول تطبيقات وأفكار وتلميحات تخفيض امان windows وتسجيل المكتبات عند تنصيب البرامج هام لمطورى ومصممى قواعد البيانات إنتبهوا حتى لا تواجهوا مشاكل مع العملاء خلاصة الأقوال .. حول مسائل الحماية 🔒🔑💪🏻 القسم الثامن : مواضيع متنوعة: ملف للبحث عن المواضيع في هذا المنتدى بعض المواضيع المتميزة والمهمة ( 8 ) الحماية برقم القرص الصلب والمعالج واللوحة الأم شرح أكسس 2003 - 2007 - 2010 - 2013 ( صوت وصورة ومرفقات ) رفع نسخة احتياطية على السحابة (google drive) ::💡 أفكار وفوائد 💡:: أسهل طريقة لعمل مربعات صح ✔ أو خطأ ✘ بالحجم واللون الذي تريده ❌☑️✔️✅❎ ⭐⭐ طريقة إبداعية لتحديث نسخة الواجهات FE 🖥️ لدى المستخدمين بدون برامج أو أدوات خارجية 😊👌⭐⭐ رمز الاستجابه السريع QR CODE حسب متطلبات هيئة الضرائب السعودية: ------------------------------------------------------ 1. https://www.officena.net/ib/topic/112126-موضوع-مهم-للنقاش-ماهو-مستقبل-الاكسس-بعد-تطبيق-المرحله-الثانيه-للفاتوره-الاكترونيه/ 2. الموضوع والمرفقات النهائية لرمز الاستجابه السريع QR CODE حسب متطلبات هيئة الضرائب السعودية 3. https://www.officena.net/ib/topic/112589-مكتبة-الموقع-الفاتورة-السعودية-المبسطة/ --------------------------------------------------------------------------------------------------------------------------------------------------------------- القسم التاسع : الدروس والشروحات والمشاريع : طريقة /اضافة صوت للاكسس مع التحكم فى (الايقاف/التشغيل) للصوت تصميم قاعدة بيانات احترافيه لإدارة يوميات وشئون العاملين
    1 point
×
×
  • اضف...

Important Information