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

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

  1. ياسر خليل أبو البراء

    ياسر خليل أبو البراء

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


    • نقاط

      12

    • Posts

      13,165


  2. جلال الجمال_ابو أدهم

    • نقاط

      10

    • Posts

      1,417


  3. مختار حسين محمود

    • نقاط

      7

    • Posts

      944


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

    سليم حاصبيا

    أوفيسنا


    • نقاط

      6

    • Posts

      8,723


Popular Content

Showing content with the highest reputation on 28 سبت, 2016 in all areas

  1. تحياتى مرفق معادلتين للتسلسل التلقائى و بفرض مطلوب عمل تسلسل تلقائى فى العمود A بشرط التسجيل فى العمود B تكون المعادله الاولى بسيطه لا تتغير عند فلترة البيانات =IF(B2="";"";MAX(A$1:A1)+1) و الثانيه متغيره فعند فلترة البيانات تتغير حسب البيانات المفلتره =+IF(B2="";"";SUBTOTAL(3;B2:B2)) و لا تنسونا من صالح الدعاء تحياتى معادلتين تسلسل تلقائى بسيطه و اخرى تعمل مع الفلتره.rar
    3 points
  2. السلام عليكم ورحمة الله وبركاته أقدم لكم دالتين في غاية الأهمية ، الدالة الأولى هي دالة معرفة تحول رقم العمود إلى حرف ، والدالة الثانية تقوم بتحويل حرف العمود إلى رقم. الدوال بسيطة جداً إلا أنني قمت بشرح مفصل لهما ، وكيف تم بناء هذه الدوال لنتعلم كيف ننشيء دالة معرفة بأنفسنا ، ويوجد مع كل دالة إجراء فرعي كمثال تطبيقي لكيفية استخدام الدالة. كما يوجد في الموضوع كيفية استخدام صندوق الإدخال InputBox ، وكيفية التعامل في حالة الإدخال الخاطيء للمستخدم أي أن الموضوع لا يقتصر فقط على الدوال المعرفة. لمزيد من التفاصيل يرجى زيارة الرابط التالي رابط الموضوع من هنا
    3 points
  3. السلام عليكم ورحمة الله وبركاته أعرض عليكم كودا ( منقولا من أحد المنتديات الأجنبية مع التعديل لملائمة الهدف ) يمكن استخدام الكود فى نسخ صورة من اميج باليوزرفورم الى أى مكان تحدده بالهارديسك الصورة يتم تصديرها الى الهارديسك بامتداد jpg الكود Option Explicit Private Declare Function OpenClipboard& Lib "user32" (ByVal hwnd As Long) Private Declare Function EmptyClipboard Lib "user32" () As Long Private Declare Function SetClipboardData& Lib "user32" (ByVal wFormat&, ByVal hMem&) Private Declare Function CloseClipboard& Lib "user32" () Private Declare Function DestroyIcon& Lib "user32" (ByVal hIcon&) Private Sub ImageCopy() ' المتغيرات Dim MyPic As StdPicture, MyPicName As String, xCopy Set MyPic = Me.Image1.Picture ' حدد اسم الاميج الذى يحتوى الصورة MyPicName = "H:\YasserKhalil.jpg" ' حدد اسم و مسار التخزين على الهارديسك ' فتح الذاكرة العشوائية OpenClipboard 0 'تفريغ الذاكرة من البيانات EmptyClipboard ' نسخ الصورة الى الذاكرة xCopy = SetClipboardData(2, MyPic.Handle) ' اغلاق الذاكرة CloseClipboard ' شرط : فى حالة وجود الصورة بالذاكرة If xCopy Then ' جواب الشرط : حفظ الصورة المحددة بالمسار المحدد SavePicture MyPic, MyPicName ' انهاء جملة الشرط End If ' تفريغ الذاكرة DestroyIcon MyPic.Handle Set MyPic = Nothing ' رسالة بانتهاء المهمة MsgBox "Mr.YasserKhalil Your's Picture Saved On (" & MyPicName & ")" End Sub استدعاء الكود ImageCopy يتم عن طريق CommandButton فى الفورم Private Sub CommandButton1_Click() ImageCopy End Sub مع خالص نحياتى picture from UserForm to a drive.rar
    2 points
  4. تم رفع هذا الكود فى مشاركة منفصله حتى لا ننسى هذه المشاركة طلب تسجيل اكبر عدد من الفواتير المرحلة و الحفاظ عليها تم ارفاق كود الحل من الفاضل _ أ /طلعت محمد حسن و لا تنسونا من صالح الدعاء تحياتى تصميم فاتورة (1).rar
    2 points
  5. زيادة اكثر في اثراء الموضوع هذا UDF لاستخراج اسم العامود من رقمه Function get_col(n As Integer) If n > 16364 Or n < 1 Then get_col = "N/A": Exit Function get_col = Replace(Cells(1, n).Address(0, 0), 1, "") End Function
    2 points
  6. نظرة سريعة بدون تفحص للملف الملف عبارة عن اظهار نطاق محدد من شيت محدد فى MultiPage (كنترول من كنترولات الفورم ) مع امكانية تعديل خلايا نطاق محدد فى الشيت يتم ذلك من خلال اكواد ودالات معرفة و Class Module بالنسبة لطريقة العمل : سأترك ذلك للمتخصصين فى الفورم فاذا كنت تريد تعديلا على الملف اذكره أو ان كنت تريد التطبيق على ملف جديد أرفقه وستجد المساعدة ان شاء الله مع خالص التحية والتقدير
    2 points
  7. ياسر خليل أبو البراء سليم حاصبيا الاخوه الافاضل تحياتى و جزاكم الله خيرا و زادكم علما
    2 points
  8. ممتاز اخي ياسر لكن ما رأيك بعمل نفس الشي بالمعادلات والعكس بواسطة UDF column_index.rar
    2 points
  9. السلام عليكم ورحمة الله وبركاته اذا كان عندى نموذج رئيسى وبه نموذجيين فرعيين اريد ان اضع كود لمنع التعديل على السجلات السابقة فى النماذج الرئيسية والفرعية . اى عند فتح النموذج واستدعاء النماذج السابقة يمنع التعديل نهائيا الا بعد كتابة رقم سرى للتعديل ومعنى هذا ان اريد كل الحقول اللى فى النموذج تكون مغلقة ولايسمح بتعديلها الا بعد كتابة الرقم السرى اذا كان من الافضل ان اضع زر تعديل كيف اضع زر تعديل لكل النماذج الفرعية والرئيسية معا فى زر واحد شكرا
    1 point
  10. تم رفع هذا الكود فى مشاركة منفصله حتى لا ننسى هذه المشاركة تصحيح الخطأ فى أكواد الاستعلام عن طريق الاسم بشاشة ( فورم ) تم تعديل على الكود من_ أ / طلعت محمد حسن و لا تنسونا من صالح الدعاء تحياتى استعلام عن طريق الاسم تعديل 3 (1).rar
    1 point
  11. رائع أخي سليم دالة ممتازة ورائعة وفيها مرونة أكثر حيث أنه يمكن تحديد الفاصل بين الكلمات تقبل تحياتي
    1 point
  12. أستاذى الغالى أنا من أشكرك على دعمك و تشجيعك المستمر المتواصل ومتنساش عشان أقدر أواصل لازم آخد كل فترة كده فاصل تحياتى
    1 point
  13. وعليكم السلام ورحمة الله وبركاته أخي الحبيب مختار .. كم يسعدني أنك استعدت نشاطك الرائع والممتع بالمنتدى وكم أعشق موضوعاتك الحصرية .. واصل بلا فواصل ومشكور على ذكر اسمي ووضع صورة البروفايل الخاص بي في الملف المرفق تقبل وافر تقديري واحترامي
    1 point
  14. بعد اذن اخي ياسر ربما يكون المطلوب في هذا الملف (مرفق للتجربة) الكود : Function No_Repet(inputString As String, Optional delemiter As String = " ") As String Dim inArray() As String Dim xVal As Variant inArray = Split(inputString, delemiter) For Each xVal In inArray If InStr(No_Repet, Trim(xVal)) = 0 Then _ No_Repet = No_Repet & Trim(xVal) & " " Next xVal End Function No_Rrepete.rar
    1 point
  15. شكرا الاخ ياسر على التوضيح للاخ اليكم اخوانى الجزء الرابع من شرح شيت قوائم الفصول
    1 point
  16. اخي ياسر خليل أبو البراء لقد قمت بطرح موضوع مستقل كود تحويل المعا\لة في ادخال البيانات تقبل تحياتي
    1 point
  17. اخي مختار حسين محمود جزاك الله خيرا على ما قدمت واعطيت ووفقك الله لكل الخير على ما تقدمه النا وعلى ما تقوم به من مجهود بارك الله فيك انتظر حتى تظهر طريقة اخرى للكود
    1 point
  18. ممكن تشرح اكثر شو تريد تعمل بدل null بالتفصيل
    1 point
  19. 206 عدد الطلاب الموجودة بالكشف يعني لو عدد الطلاب اصبح 350 طالب نكتب مكان ال206 نكتب 350 ولكن رأيت ان من الافضل ان تكون صفحة بيانات المدرسة هي الاساس في بعض البيانات وتم التعديل قليلا ليتم الاعتماد على عدد الطلاب من صفحة بيانات المدرسة كما بالمرفق استخراج حالة الطالب ومواد الرسوب معدل YASSER.rar
    1 point
  20. بارك الله فيك أخي سليم ومشكور على إثرائك للموضوع .. تقبل تحياتي
    1 point
  21. العفو أخي سامي هل أفادك الموضوع واستطعت تطبيقه على ملفك ..؟ إذا كانت الإجابة بنعم فيرجى وضع ما توصلت إليه ليستفيد منه الجميع تقبل تحياتي (والرجاء تغيير اسم الظهور للغة العربية)
    1 point
  22. شكرا أخي ياسر بعد محاولات عديدة وتتبع للخلل وجدت بغيتي أنا كنت أبحث عن كلمات وأرقام وكان الخطأ عند البحث بواسطة كلمة ، ولكن بعد حذف "cdb1 " من السطر حلت المشكلة وتم تعديل السطر الى If (.Cells(I, (Range("b1").Value))) = (Range("C1")) Then مرفق ملف لمن أراد الاستزادة Overtime Report Loop Through All Sheets YasserKhalil 1.rar وطلب أخير هل يمكن اختصار الكود من الأسطر والمتغيرات الغير ضرورية لملفي - ان وجدت - لسهولة التعديل بعد ذلك ؟؟
    1 point
  23. اشكرك يا استاذ ياسر انا عملت بنصيحتك ودخلت على المنتدى وانا سعيد جدا بشرحك وخفة ظلك ومعلش عشان اتاخرت ف المتابعة لانى شفت تاريخ الشرح من عام 2014 وربنا يزيدك من علمه ويبارك فيك
    1 point
  24. اخى الكريم السلام عليكم اولا ثانيا لابد من توضيح المطلوب اكتر من كدة وبملف مرفق لانى بحاول من اكتر من نص ساعة انى افهم المطلوب مش قادر ثالثا باذن الله مع الاكسيل مفيش مستحيل باذن الله تعالى رابعا ودى مش من حقى لانى مش من المراقبين لكن هى فى الخير ... غير اسم الظهور للغة العربية
    1 point
  25. تم رفع هذا الكود فى مشاركة منفصله حتى لا ننسى هذه المشاركة برنامج محاسبة لادارة مكتبة تم ارفاق المشاركه من الفاضل _ أ / طلعت محمد حسن و لا تنسونا من صالح الدعاء تحياتى مكتبةsama.rar
    1 point
  26. أخي الكريم أبو حنف كود البحث مبني على خلية واحدة فقط وهي الخلية C1 في ورقة العمل Sheet1 حيث يتم جلب البيانات بناءً على قيمة هذه الخلية بالنسبة للنقطة الثانية الشرط هو تساوي الرقم الموجود في الخلية C1 في ورقة العمل Sheet1 والتي يمثلها المتغير Ws (الشطر الأيمن من السطر) بالقيمة أو الخلية في العمود الأول وقد يكون هذا هو إجابة سؤالك الأول حيث يمثل الرقم 1 في الشطر الأيسر رقم عمود البحث وهو العمود A ... حلقة تكرارية لكل صف من صفوف ورقة العمل التي يتم البحث فيها ، والبحث في العمود الأول أرجو أن تكون قد اتضحت الصورة قليلاً واسأل ولا تخجل ، وحتى لو كررت السؤال فلن أمل حاول تفهم كيف تسير الأمور ..استخدم مفتاح F8 لتتبع أسطر الكود سطر بسطر ومحاولة معرفة ما يجري تقبل تحياتي
    1 point
  27. السلام عليكم و رحمة الله تعالى و بركاته. هذه محاولة مني لإنشاء قاعدة بيانات بريد إلكتروني بإستعمال الأكسس. المرفق به ملفين أكسس : الأول خاص بقاعدة البيانات أما الملف الثاني فهو خاص بواجهة البريد. و هو يحتوي على بريد وارد و صادر و إنشاء رسالة. طريقة التشغيل: نضع ملف قاعدة البيانات في الكمبيوتر الخادوم (server) ونضع ملف الواجهة (برنامج الإتصال) في الأجهزة الأخرى, و عند فتحه نبحث عن مسار ملف قاعدة البيانات و نقوم بربطه بها. ثم نبدأ تشغيل البرنامج بنجاح إن شاء الله ملف البيانات.rar
    1 point
  28. أخي الكريم أبو حنف أين الملف المرفق ؟ حاول تتبع أسطر الكود واسأل عما استوقفك فقط لأن الشرح قد يستغرق وقت طويل وقد لا أملكه ركز على الأسطر التي تريد شرحها ويا حبذا لو تناولت في كل مشاركة سطر واحد ليكون الشرح مركز وتستطيع فهم الكود بشكل أعمق تقبل تحياتي
    1 point
  29. أخي الكريم يرجى عدم تكرار الموضوعات بدون داعي ، كما يرجى وضع عناوين مناسبة للموضوع ليعبر عن الطلب تم تغيير العنوان من "استفسار" إلى العنوان المبين بالنسبة لسؤالك تم استخدام دالة معرفة لهذا الغرض ، حيث يمكنك استخدامها في ورقة العمل بشكل طبيعي مثل أي دالة من دوال الإكسيل المعروفة حمل الملف المرفق من هنا
    1 point
  30. اعتذر لهذا حيث انقطع النت اثناء كتابتي للموضوع ولم أعرف بأن الملف لم يرفع. مع جزيل الشكر للاستجابة. userform-from-spreadsheet-2.rar
    1 point
  31. الأخ الكريم أبو حنف يمن التعديل على الكود المقدم من الأخ أبو حنــــين باضافة السطرين الأخيرين Sub iCaption() Dim C As control x = 1 For Each C In Me.Controls If TypeOf C Is MSForms.CommandButton Then C.Caption = Range("A" & x) x = x + 1 End If Next Sheets("filter").Range("$A$1:$C$38").AutoFilter Field:=1 Sheets("filter").Range("$A$1:$C$38").AutoFilter Field:=1, Criteria1:="<>" End Sub ثم يالضغط على اى commandbutton يتم استدعاء الأجراء الفرعى iCaption مثال عل ذلك Private Sub CommandButton1_Click() Call iCaption End Sub
    1 point
  32. السلام عليكم اشكرك استاذ جلال الجمال على ارفاق هذه المشاركة وان شاء الله تكون الاستفاده للجميع اقبل تحياتي واحترامي
    1 point
  33. تفضل اخى الكريم اريد عمل الكود فى نموذج اضافة اذن الاضافة كارت الصنف.rar
    1 point
  34. شكرا أخى الكريم على مجهودك لكن طلبى ان النموذج به نماذج فرعية ومن المستحيل ان اضع على كل نموذج فرعى زر تعديل هذا سيكون ممل اريد التعديل على كل النماذج بزر واحد شكرا
    1 point
  35. ممكن مرفق لو تكرمت الله يرضى عليك على العموم تفضل انظر الى هذا المرفق عل به المراد ولى نصيحة وعن تجربة اجعل فورم خاص بعرض البيانات لا يقبل التعديل واجعل فورم خاص بادخال البيانات لا يستعرض البيانات السابقة لحمايتها من التعديل- مجرد فكرة وقد اكون مخطئ تعديل البيانا بكلمة سر.rar
    1 point
  36. اسمها هنخش (ممكن حد يعكس حروفها ويقراها غلط يا Farmer) .. اسمها هندخل .. أكيد هندخل دي هتفكرك بليلة الدخلة تقبل وافر حبي واعتزازي ... مع تحيات كريازي (إذا كنت تدعم توشيبا فنحن ندعم كريازي)
    1 point
  37. تم رفع هذا الكود فى مشاركة منفصله حتى لا ننسى هذه المشاركة ملف لتسجيل واحتساب وصرف اجور ساعات العمل الإضافي تم ارفاق كود الحل من الفاضل _ أ / أبوعبد الله و لا تنسونا من صالح الدعاء تحياتى OVERTIME_FOR_APRIL_2007___DIRECT_PRINT (1).rar OVERTIME_REC_CALC_PAY_SYSTEM (1).zip BACK_SIDE_OF_OVERTIME_PAY_SLIP.zip
    1 point
  38. الحلقة السادسة ************ أهلا بكم إخواني الأحباب مع حلقة جديدة ، والحلقة دي استكمال لحلقة المتغيرات .. كنا اتكلمنا عن نوعين من المتغيرين باستفاضة (3 مرات على ما الكلمة اتكتبت معايا ) ..اتكلمنا عن النوع Integer ودا بيكون للأرقام الصحيحة ، والنوع String ودا بيكون للقيم النصية. نكمل رغي عن المتغيرات عشان نخلص منها ونخلص عليها .. بداية أحب أعرفكم بدالة في VBA اسمها CINT ..الدالة دي وظيفتها إنها بتحول أي قيمة لعدد صحيح من النوع Integer (ودي اختصار Convert Integer..الحرف الأول من Convert وأول 3 حروف من Integer) >> الكلام مش هيفيد بقدر التطبيق :: نجرب المثال التالي Dim LValue As Integer LValue = CInt(8.45) MsgBox LValue لو نفذنا الكود هنلاقي إن القيمة أصبحت 8 .. طيب نغير الرقم إلى 8.5 ونشوف النتيجة بردو نفس القيمة 8 .. طيب نغير الرقم ونخليه 8.6 خلي بالك متتوقعش 8 ، القيمة بقت 9 (تسعى في الخير) الملاحظات المستفادة : إن الكسر لو أقل من أو يساوي 0.5 .. القيمة بتتقرب لتحت ، أما لو الكسر أكبر من 0.5 يبقا يتقرب لفوق ..(يعني الدالة دي ممكن نستفيد منها في أمور تانية .. زي التقريب) جرب القيمة 8.50001 .. جربتو : أكيد لا نازلين قراية وخلاص .. اللي جرب هيتأكد من إن : لو هفوة مفيش تفاهم!! نراجع مرة تانية المتغير Integer بمثال عملي : Dim nRowCount As Integer nRowCount = Rows.Count MsgBox nRowCount أولاً عايزين نتعلم شيء مهم جداً وإحنا لسه في البداية : إننا لما نيجي نسمي متغير يا ريت يكون الاسم وصفي (يعني كل المتغيرات عندي هسميها وصفي ..شكلك بتعزه يا أستاذ ...طيب ما نسميه شوقي أو مراد ..لازم وصفي ) .. يا جدعان انتو فهمتوني غلط أنا أقصد بكلمة وصفي إنه يوصف الاسم بشكل كويس .. يعني مثلا نشوف نوع المتغير نلاقيه Integer فنقوم في أول الاسم نحط مثلا n عشان يوضح لأي حد يقرا الكود إنه Interger ، وبعد الحرف الدلالي n نكتب اسم للمتغير يكون دال عليه .. أنا مثلا هعد الصفوف فاقوم أكتب RowCount .. يبقا في النهاية اسم المتغير nRowCount ...طبعا اللي بقوله ده مش الزامي ..دي عادة حسنة بيتبعها المبرمجون المحترفون ..مش الاقي ناس تكتب mghy حاجة كدا ملهاش دلالة على اسم المتغير ...!! السطر التاني وضعنا قيمة للمتغير وهي Rows.Count وطبعا كلمة Count دي Method بمعنى (عد) ، ودي وظيفتها إنها تعد بس تعد ايه .. تعد الصفوف Rows واحد يقولي طيب ممكن أعد الأعمدة أقوله أيوا Columns.Count مفيش مشكلة .. واحد يقولي يعني ممكن أعد الخلايا في نطاق معين زي A1:C5 ، بردو مفيش مشكلة Range(Cells(1, 1), Cells(5, 3)).Count المهم خلينا في السطر التالت (محدش يخرجني برا الموضوع) .. مش محتاج شرح ..إظهار قيمة عدد الصفوف في رسالة ننفذ الكود (رسالة خطأ .. ميهمكش من الفشل .!! ) واحد هيسألني طيب الغلطة فين ..كل حاجة زي الفل .. المحرر دا بيستعبط ! أنا مش هشتغل على المحرر دا تاني سلااام .. هرد عليه وأقوله اصبر بس كل الحكاية إننا بنتعامل بقواعد وقوانين ..أنا لما عرفت المتغير حددت نوعه بـ Integer ودا بيكون للأرقام الصحيحة ما بين 32, 767 و القيمة السالبة -32, 768 يعني ببساطة بيتعامل مع الأرقام دي وبس ..ميقدرش يتعامل مع أكبر من كدا .. طيب ايه الحل ؟ ايه البديل ؟ البديل المتغير Long دا بيتعامل مع الأرقام الصحيحة بردو ، بس ما بين 2,147,483,647 -2,147,483,648 طيب نرجع للكود بتاعنا ..عدد الصفوف في إكسيل 2007 مثلا يساوي 1048576 ، والمتغير Integer قلنا إن صحته على أده ، فيقوم المتغير Long ييجي ويشيل.. يبقا كل اللي هنغيره كلمة واحدة عشان الامور تمشي تمام (نشيل Integer ونحط Long) يعني ممكن الكود يكون بالشكل ده (لاحظوا أنا هغير البادئة في اسم المتغير إلى L اختصار Long) Dim LRowCount As Long LRowCount = Rows.Count MsgBox LRowCount بكدا نكون اتعرفنا على Integer و Long في حالة التعامل مع الأعداد الصحيحة. ننتقل لجزئية جديدة .. التعامل مع الأرقام اللي فيها كسور عشرية.. مش هنطول في الكلام ، هناخد باختصار مثال عملي عشان نفهم الدنيا ماشية إزاي Dim FloatingPoint As Single FloatingPoint = 10 / 3 MsgBox FloatingPoint طيب نغير كلمة Single بكلمة Double ونلاحظ الفرق..!! مش هشرح الفرق لكن هقول إن اللي فهم الفرق بين Integer و Long ، هيفهم الفرق بين Single و Double ... حازم رفع ايده وقالي لأ يا باشا اشرحها بردو (حاضر يا عم حازم حازم هنشرحها عشان نأكد المعلومة بس مش أكتر ) لما استعملنا النوع Single نلاحظ إن عدد الأرقام العشرية 6 بس ، أما Double فنلاقي إن اللي على يمين العلامة 14 رقم (جرب الكود مرة كدا ومرة كدا وعد بنفسك (فيه ناس هتكسل)) نقطع على الجماعة المدرسين اللي بدوا رياضيات ، ونقول إن مساحة الدائرة = ط نق2 ، والله مش عارف إذا كان صح ولا غلط عموما القيمة ط = 22/7 ، ودي موجودة في الإكسيل باسم Pi ، يعني لو كتبنا في خلية =PI() هيديني قيمة الـ ط ... المهم نستفيد في المثال التالي معلومة جديدة (إننا ممكن سنتخدم بعض الدوال الموجودة في الإكسيل ونطبقها في الـ VBA) Dim FloatingPoint As Single FloatingPoint = WorksheetFunction.Pi MsgBox FloatingPoint نخلي بالنا إننا وضعنا قيمة للمتغير واستخدمنا WorksheetFunction عشان أقول لمحرر الأكواد إننا هنستخدم دالة ، وبعدين نقطة Period وبعدين اسم الدالة هنا Pi ومفيش أقواس (دا الاختلاف ..لما استخدمناها في ورقة العمل كان لازم أقواس أما هنا فلا يتم استخدامها .. نجرب مرة المتغير Single ومرة المتغير Double ..(أي خدمة يا حازم حازم .. منستغناش عن خدماتك يا متسر ياسر ياسر ) نكمل كلام عن المتغيرات عشان نخلص منها : نتكلم عن المتغير التقيل Variant ودا بنستخدمه لما نكون مش عارفين نحدد القيمة هل هي رقم ولا نص ولا كائن Object ولا ولا (ولى زمن الجهل وأقبل زمن التعلم) .. فبنستخدمها ..بس نخلي بالنا إنها بتستهلك مساحة من الذاكرة فكثرة استخدامها بتخلي التعامل مع الأكواد يكون بطيء .. المتغير اللذيذ Boolean ودا يا أبيض يا أسود .. يا صح يا غلط .. يا True يا False .. يا 1 يا صفر بتكون القيمة المخرجة إحدى قميتين فقط Dim bOfficena As Boolean MsgBox bOfficena هنا حددنا نوع المتغير بـ Boolean .. لما ننفذ الكود هنلاقي رسالة فيها False (نفهم من كدا إن الاختيار الافتراضي هو False) يعني مش زينا بنفترض حسن النية ، لا دا ماشي بمبدأ المتهم مجرم حتى تثبت براءته ، فهنا وضع القيمة False للمتغير .. نجرب نضع القيمة صفر Dim bOfficena As Boolean bOfficena = 0 MsgBox bOfficena هنلاقي نفس الناتج اللي فات False ..!! نغير شوية ونخلي القيمة أي قيمة غير الصفر ، هتلاقي الناتج True فيه متغيرات تانية زي Date للتعامل مع التواريخ ، والمتغير Currency للتعامل مع العملات وبكدا كفاية أوي على المتغيرات .. المهم في الموضوع الفكرة تكون وصلت .. للمزيد من الشروحات يرجى الإطلاع على الدورة الرائعة التي يقوم بها أخونا محمود الشريف (كلنا بنكمل بعض ..دا شعارنا في المنتدى ..أنا بس مجرد واحد معاه مفاتيح ..هديكم نسخة منها عشان تعرفوا تفتحوا الباب يا أحباب) كان معكم صانع المفاتيح Keys Maker أخوكم أبو البراء وإلى لقاء في حلقة جديدة من حلقات افتح الباب واهرب من الشباك .. دمتم بود .. تقبلوا حبي وأشواقي وتحياتي القلبية
    1 point
  39. هل يوجد بالبرنامج وسيله للتنبيه او التحذير للمحالين علي المعاش قبل تاريخ الاحاله بثلاثه اشهر مثلا ،،،،او قبل تاريخ الاحاله بسته اشهر تعطي رساله تحذيريه اولي ثم بعدها بشهرين تعطي رساله اخري وهكذا ،،،،لكم الشكر والتقدير علي مجهودكم
    1 point
  40. استاذى الحبيب أطال الله فى عمرك وجعلك ذخرا لنا انظر هذا الرابط لعلى اكون قد عملت بما تقصد استاذى الحبيب http://www.officena.net/ib/index.php?showtopic=22634&hl= ومرفق الملف الموجود بالمشاركة حساب سن المعاش.rar
    1 point
  41. هذا شيء طبيعي لانه تم التعديل في مكانين اولا : تعديل الدالة في الاستعلام المذكور وقبلها تم تعديل عملية الضرب في الاستعلام QryAll في الحقل AmountDepit انظر وعدل ووافني بالنتيجة
    1 point
×
×
  • اضف...

Important Information