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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      22

    • Posts

      9998


  2. ابو جودي

    ابو جودي

    أوفيسنا


    • نقاط

      12

    • Posts

      7227


  3. essam rabea

    essam rabea

    الخبراء


    • نقاط

      11

    • Posts

      634


  4. kaser906

    kaser906

    الخبراء


    • نقاط

      6

    • Posts

      1411


Popular Content

Showing content with the highest reputation on 11/13/19 in all areas

  1. تفضل سيدي الفاضل 🙂 - لا يوجد تعديل على التقارير ، فهي حسب تصميمك ، - النموذج frm_Do_Report_604 يقوم بإضافة السجلات المطلوبة الى الجداول المؤقته الثلاث ، والتي يبدأ اسمها بـ tbl_tmp_rpt ، والكود في النموذج حلو وسهل الفهم 🙂 ، - اعتمد في اخذ البيانات من الاستعلامات qry_604 و qry_tblPME ، لذلك فانت حر التصرف في عمل المعايير التي تريدها ، واذا اردت تغيير اسماء الحقول ، فيجب تغييرها في استعلامات الإلحاق والجداول المؤقتة 🙂 - عملي ليس له علاقة بالكود الموجود سابقا في التقارير . في الواقع ، الآن البرنامج صار عادي وسهل التعامل معاه 🙂 آه وقبل ان انسى: جعفر 1135.3.Consumable Material.accdb.zip
    3 points
  2. السلام عليكم هذه طريقة للحصول على الوقت و التاريخ الحاليين للأنترنت حسب توقيت غرينتش نستخدم هذه الوحدة النمطية: Function GetUCTTimeDate() As String Dim UTCDateTime As String Dim arrDT() As String Dim http As Object Dim UTCDate As String Dim UTCTime As String Const NetTime As String = "https://www.time.gov/" On Error Resume Next Set http = CreateObject("Microsoft.XMLHTTP") On Error GoTo 0 http.Open "GET", NetTime & Now(), False, "", "" http.send UTCDateTime = http.getResponseHeader("Date") UTCDate = Mid(UTCDateTime, InStr(UTCDateTime, ",") + 2) UTCDate = Left(UTCDate, InStrRev(UTCDate, " ") - 1) UTCTime = Mid(UTCDate, InStrRev(UTCDate, " ") + 1) UTCDate = Left(UTCDate, InStrRev(UTCDate, " ") - 1) GetUCTTimeDate = UTCDate & " " & UTCTime End Function و نقوم باستدعاء الناتج هكذا MsgBox GetUCTTimeDate()
    2 points
  3. وعليكم السلام 🙂 نعم ، هذا الكود سيخبرك عدد السجلات msgbox Dcount("*","اسم الاستعلام") جعفر
    2 points
  4. بس إجابة ساحقة ماحقه .. ولم نوفك حقك حبيبى جعفر
    2 points
  5. بل كل الشكر والتقدير والعرفان لكل اساتذتى الافاضل الذين لم يبخلوا بوقتهم وجهدهم وعلمهم قدر استطاعتهم وكل الشكر والتقديـر اليكم استاذى الجليل ومعلمى القدير و والدى الحبيب استاذ @jjafferr والله مهما وصفت لن تكفى الكلمات للتعبيـر عن مدى التعب والضرر الذى قد يتسبب به اقل خطأ لى او لأصدقائى بالعمل ومهما قدمت لكم من شكر ما حييت لن اوفيكم حقكم وقدركم وستقف الكلمات عاجزة بكل معانيها امام ما تقدمونه استاذى الجليل يعلم الله حجم الكرب الذى جعلكم الله سببا فى تفريجه اسأل الله تعالى ان يرزقكم البركة فى العمر والعلم والاهل والولد واعلى درجات الخلد فى الجنة ان شاء الله مع من تحبون شكـراً ساحر الأكسس ..
    2 points
  6. شكرا ابا جودي 🙂 يا جماعة الحقوا عليّ اريد شِبّه او بخور عن العين 🙂 حصلت على شهادتين من اجابة واحدة 🙂 جعفر
    2 points
  7. الشكــر كل الشكر والتقدير لكم استاذى الجليل ومعلمى القدير و والدى الحبيب استاذ @jjafferr والشكــر كل الشكر والتقدير لكم استاذى الجليل ومعلمى القدير و اخى الحبيب استاذ @AlwaZeeR والشكــر كل الشكر والتقدير لكم استاذى الجليل ومعلمى القدير و اخى الحبيب استاذ @essam rabea
    2 points
  8. في الكثير من مواضيعي في الكود ، استخدم متغير اسمه mySQL مثلا ، حتى اعمل استعلام عن طريق الكود ، هكذا مثلا ، فلاحظ آخر سطر استعمله ، السبب اللي استعمل فيه هذا المتغير بهذه الطريقة ، حتى يكون لكل جزء من الكود السطر الخاص به (سهل التعامل مع كل سطر بطريقة منفصلة) ، وفي النهاية يتم جمعهم في الكود للخروج بالمتغير بصورته النهائية : mySQL = "SELECT TOP " & A & " sort_seq, Desc, IDPME, DueDate, SelectTo604, 1 AS Countr, iPage" mySQL = mySQL & " FROM ( " mySQL = mySQL & "SELECT 0 as sort_seq, Desc, IDPME, DueDate, SelectTo604, 1 AS Countr, iPage" mySQL = mySQL & " From tblPME" mySQL = mySQL & " WHERE SelectTo604 = True" mySQL = mySQL & " union" mySQL = mySQL & " Select id, null, null, null, null, 1 AS Countr, null" mySQL = mySQL & " From tblPME" mySQL = mySQL & " ) AS X" Debug.Print mySQL آخر سطر معناه ، اكتب لي نتيجة المتغير mySQL ، والنتيجة ستكون بالبيانات ، فمثلا نتيجة هذه الاسطر اعلاه هي: SELECT TOP 33 sort_seq, Desc, IDPME, DueDate, SelectTo604, 1 AS Countr, iPage FROM ( SELECT 0 as sort_seq, Desc, IDPME, DueDate, SelectTo604, 1 AS Countr, iPage From tblPME WHERE SelectTo604 = True union Select id, null, null, null, null, 1 AS Countr, null From tblPME ) AS X نفس الشيء ممكن نعمله في الكود اعلاه ، ممكن نضيف السطر الاخير هنا ايضا : myCriteria = "[detach]='موظف'" myCriteria = myCriteria & " Or [detach]='منتدب'" myCriteria = myCriteria & " Or [Payment_Month]=#" & Me.txtMonth & "#" myCriteria = myCriteria & " Or [EmployeeID]=" & Me.EmployeeID myCriteria = myCriteria & " Or [ID]=12" debug.print myCriteria ولما يعطيك الطريقة الصحيحة ، تقدر تنسخها الى امر Dlookup ، في الاستعلام 🙂 آه ، وين تنكتب هذه العيارة ، هنا : اولا الجواب الاوسع ، انه ما ممكن ، وخصوصا انك لما تشوف شرح يفتقد لمثال واقعي علشان تفهمه وتطبق عليه ، لذلك ، تابع الاجابات ، ومنها تفهم اكثر ، بطرق مقطعة ، ولكن تثبت في الدماغ 🙂 اما للشروحات ، فهناك الكثير منها في المنتدى ، واخونا صالح قام بهذا العمل الجبار : جعفر
    2 points
  9. ما شاء الله ... تبارك الله .... الله اكبــــــــــــــــر يا شمعة في زوايا المنتـدى تتألق فتنير درب المــعالي وهي تحترق لا أطفــــأ الله نــــــوراً أنت مصـدره يا صادق الفجر أنت الصبح والفلق أيا جعفراً يا رمــز الوفاء سلمت يمين أهـــل الوفاء يا خيــر من صدقوا
    2 points
  10. ما ممكن كتابة هذه الاسطر في استعلام ، لذلك ، يمكن ان تعملها وحدة نمطية ، ثم تناديها من الاستعلام 🙂 جعفر
    2 points
  11. لو فيه حاجة وقفت معاك حاول وابعت نتيجة محاولتك وسلملى على محمد احمد والشيخ وفيق لحد ماجى بالتوفيق
    2 points
  12. وعليكم السلام ورحمة الله وبركاتة أخي الكريم كان لك نفس الطلب في موضوع سابق لكن الفرق كنت تريده في التقرير وقد قمت بالرد عليك وتحقيق طلبك عن طريق كود vba وشاركني استاذي @jjafferr بوضع نفس الحل ولكن عن طريق الاستعلام الان لتحقيق طلبك الجديد ارجع للموضوع السابق وبالتحديد مشاركة الاستاذ جعفر قم بفتح ملف اكسل ثم اذهب على مصدر البيانات ثم اختر قاعدة البيانات حسب الصورة ستظهر لك نافذة اختر منها الاستعلام نتائج الاستعلام اصبحت بملف الاكسل قم بتغير مسميات رؤوس الاعمدة حسب ما تراه مناسب لك وحفظ الاستعلام وإذا لم ترد تغيير مسمسيات رؤوس الاعمدة بالاكسل قم بتغيرها من الاستعلام وستظهر بالاكسل نفس المسميات ::بالتوفيق::
    2 points
  13. أ.ashraf_ali هل هذا ما تقصدة ام فهمت خطأ بالتوفيق Test (1).zip
    2 points
  14. جرب هذا الملف Sharikat.xlsm
    2 points
  15. ممكن تستخدم الكود التالى Sub my_fill() cmb_Fill.Clear For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row cmb_Fill.AddItem (Cells(i, "A")) Next i End Sub و المجال مفتوح و قابل للتعديل مرفق ملف Fill_01.xls
    2 points
  16. تفضل استاذ حميد ولحسن عمل الكمبوبوكس يمكنك إضافة هذا الكود Private Sub ComboBox1_DropButtonClick() lrw = Sheets(2).Cells(Rows.Count, 4).End(xlUp).Row ComboBox1.List = Sheets(2).Range("D1:D" & lrw).Value End Sub تعبئة القوائم المنسدلة1.xlsm
    2 points
  17. السلام عليكم ايش رأيك في هذه الطريقة: سحب أكثر من حقل من سجل واحد في الجدول ، وهذا الرابط فيه المثال http://www.officena.net/ib/index.php?showtopic=61152&p=394338 جعفر
    2 points
  18. هل يوجد برنامج تسكين طلاب على قاعات الإختبار
    1 point
  19. فورم البحث بثلاث طرق وفى عدد من العواميد الفيديو
    1 point
  20. لك ماتريد (معادلات مطاطة حتى 1000 اسم) SharikA_Salim.xlsx
    1 point
  21. تفضل اخي الكريم يا رب يكون المطلوب تماماً الضغط على الفرعى.accdb تحياتي عذرا يا ايو جودي يا غالي كنت مشغول عن ردك بالمطلوب عذرا مرة اخرى تحياتي
    1 point
  22. لا غنى لى عن استاذى الجليل ومعلمى القدير و والدى الحبيب بفضل الله تعالى ثم بفضلكم تقريبا تم التوصل الى النتيجة المطلوبة تقريبا بنسبة 100 % وان شاء الله تعالى بأمر الله غدا ان قدر الله وكان لى فى العمر بقيـة اوافيكم بالبشـرى وبالرد اليقين بعد التجربة مرار وتكرار من واقع العمل فعلياا اليوم فى العمل لم استطع التجربة لاكثر من 5 دقائق بسبب التفتيش ولكن تقريبا بفضل الله من الوهلة الأولى ان شاء الله الحمد لله تعالى كل شئ تمام
    1 point
  23. جزاك الله خيرا استاذ سيد اخى مارد تقبل تحياتى ونتمنى منك ومن جميع اساتذتنا وجميع الاعضاء شروحات اكثر واكثر وياريت vba باستفاضه اكثر فكل ما ابحث الاقى شويه فى شروحات مقطعه وخفيفه اريد المزيد حتى نتعلم منك بارك الله فيكم جزاك الله خيرا استاذى جعفر واستفدت اكتر لما استخدمت الكود مع الداله اسبليت لما رايتها بمرفق للاستاذ عبداللطيف سلوم عن طريق تعديل ابا جودى له واشار اليك بها وقمت باستخدامها مع بقيه دوال المجاميع واستخدمتها ايضا بجمع الحقول عن طريق Sum فقد اختصرت لى طرق كثيره لا املك الا انا اقول لك بارك الله فيك وجزاك الله كل خير ورزقك الفردوس الاعلى وجميع من تحب على ما اعتقد استاذى ابو ياسين واخى خلف ممكن وضعها بموديول واستدعائه بالاستعلام لكن فى الاستعلام العادى سيتم كتابتهم فى شريط واحد كما والله اعلى واعلم كنت اكتب ولاقيت استاذى العزيز جعفر كتب رده جزاكم الله خيرا وننتظر المزيد من الشروحات اساتذتى الافاضل بارك الله فيكم طبتم واهتديتم
    1 point
  24. الاخ الفاضل/ @محمد ابو عبدالله انا متاسف لك فعلا النموذج يعمل جيدا ـ جزاكم الله خير استاذ / محمد بارك الله فيك وجعله في ميزان حسناتكم ومادام حضرتك "محب الله ورسوله " فاللهم حبب الله فيكم ورحمكم في الدنيا والاخره بعيدا عن الدعاء لكم - لى طلب اخر ان سمحت لكم ظروفكم ووقتكم هل يمكن ان نضع مربع فارغ في النموذج الفرعى وعند الضغط على خانة الاختيار R1 في الرئيسي يتلون المربع في النموذج الفرعى باللون الاحمر ويكتب بداخله اتوماتيكيا "غير متعاقد" واذا ضغطنا على R1 مرة اخري يتلون المربع الفارغ الى اللون الابيض وتتحول الجملة الى " متعاقد" داخل المربع المنشأ ارجو ان لا اكون قد اثقلت عليك وحسب وقتك بارك الله فيك
    1 point
  25. باذن الله فى انتظارك اخى العزيز @kaser906 وجزاك الله خيرا تمنياتى لك وللجميع بالتوفيق طبتم واهتديتم
    1 point
  26. وعليكم السلام بما انك وضعت كود عند التحمل للحصول ع المجموع If Nationality = "Saudi" Then Gosi = (Val(BasicSalary) + Val(Housing)) * 0.11 Else Gosi = (Val(BasicSalary) + Val(Housing)) * 0 End If TotalSalary = Val(BasicSalary) + Val(Housing) + Val(Transportation) + Val(OtherBenefits) AccruedSalary = (Val(TotalSalary) / Val(DayMonth)) * (DayAttendees) NetSalary = (Val(AccruedSalary) + Val(Reward) + Val(Addition)) - (Val(Discount) + Val(Deduction) + Val(Gosi)) كان لازم تزيل مصدر تحكم الحقول الملونة بالاخضر لتصبح حقول غر منظمه ::بالتوفيق::
    1 point
  27. اولا انا معمتلش حاجة قبل كدة فى Spare Parts Movment ثانيا نموذج frm_subItems بيتفتح من خلال نموذج frm_Items مش لوحده
    1 point
  28. أ.mohamed elalfy عسى أن يكون المطلوب new mohamed TEST(1).zip
    1 point
  29. اخي الكريم انظر الموضوع التالي تجد به نفس طلبك حاول الاستفادة من الطريقة بالنموذج ::بالتوفيق::
    1 point
  30. وعليكم السلام-كان لزاما عليك استخدام خاصية البحث بالمنتدى قبل رفع مشاركتك-تفضل تعريف وشرح دالة VLOOKON
    1 point
  31. شاكر جدا لمجهوداتكم وجزاك الله خيرا استاذ Ali Mohamed Ali
    1 point
  32. حياك الله 🙂 الرابط التالي فيه طريقتي لعمل اكثر من معيار وبسهولة ولكن يجب ان تقرأ الموضوع من بدايته ، حتى تستفيد بالاستفادة الكاملة 🙂 العلامات لها علاقة بنوع الحقل ، نص او رقم او تاريخ ، و السيد جمال @Elsayed Bn Gemy شرح هذا الموضوع في الرابط 🙂 جعفر
    1 point
  33. الق نظرة على هذا الموضوع تقريبا نفس المطلوب
    1 point
  34. السلام عليكم ورحمة الله حل باستعمال الدالتين INDEX و MATCH (بالفرنسية EQUIV) في الملف المرفق... بن علية حاجي Etude.xlsx
    1 point
  35. السلام عليكم 🙂 الطريقة التي توصلت لها : 1. التقرير الرئيسي له جدول خاص به ، به رقم صفحات التقرير (سيتم عمل هذا تلقائيا) ، 2. التقرير الفرعي رقم 1 ، والتقرير الفرعي رقم 2 ، لكل تقرير فرعي مصدر بيانات خاص به (سيتم عمل هذا تلقائيا) ، ويحتوي على حقل رقم الصفحة ، 3. بيت القصيد ، ربط التقرير الرئيسي بالتقارير الفرعية عن طريق رقم الصفحة . يجب ان اقوم بتنظيف البرنامج ، واعادة عمله على اساس ما قلته اعلاه ، وللعلم فبعض بيانات التقارير الفرعية قد تم ادخالها يدويا حتى احصل على النتيجة 🙂 التقرير الذي يعمل حسب هذه الخطة هو Report2 🙂 ولا تحاول تعمل تغيير في بيانات الجداول الاصل ، فلن تتغير النتيجة في التقرير ، في هذه النسخة اخي ابا جودي ، اعتذر عن التأخير ، بس هذا كان تحدي 🙂 ورجاء ، اذا عندك اي ملاحظة او تغيير ، وبدون اي احراج ، رجاء تخبرنا عنه ، لأن العمل تقريبا انتهى 🙂 بكرة الصباح ان شاء الله اعمل البرنامج بصورته النهائية 🙂 جعفر 1135.2.Consumable Material Check List (40).accdb.zip
    1 point
  36. ولقيت الحل ، بالاكسس 🙂 بس محتاج شوي علشان اعرضه ان شاء الله 🙂 جعفر
    1 point
  37. السلام عليكم 🙂 في آخر مرفق ، انا جعلت البرنامج يجهز عدد السجلات مسبقا ، للتقرير الاساسي (اللي في الاسفل) ، والتقرير الفرعي اللي في الاعلى ، التقرير في الاسفل ، وتم حل مشكلته ، اما التقرير في الاعلى فكذلك تم حل مشكلة السجلات ، ولكن لما التقرير الاساسي ينتقل الى الصفحة التالية ، ما قادر اخلي التقرير الفرعي ينتقل للصفحة التالية !! في حل برمجي بعمل قالب في الوورد ، ثم نصدر البيانات هناك ، والظاهر يمكن نضطر نأخذ هذا الاتجاه !! هل من مساعدة يا شباب 🙂 جعفر
    1 point
  38. ولاثراء الموضوع جرب الاختيارات من تنسيق الخلايا باختيار تنسيق مخصص وتحديده
    1 point
  39. وعليكم السلام -يمكنك تحميل هذا من هنا فلا يحتاج الى تفعيل https://www.4shared.com/rar/vx1cv9Hxca/KutoolsforExcel1650.html وهذا رابط اخر http://www.mediafire.com/file/xcvjc4oywbvonda/Kutools.for.Excel.16.50.rar/file
    1 point
  40. بكرة الصباح ان شاء الله اكمل فيه 🙂 جعفر
    1 point
  41. السلام عليكم أخي أبو العلاء هذه محاولتين مني الأولى لإرسال صورة شكل بيضاوي أحمر والثانية لإرسال رسائل مختلفة , كأن تكون ( مثلا ) صاحب متجر أو دكان فترسل رسائل مختلفة لزبائنك تخبرهم فيها بما عليهم من الدين لاحظ المرفق إذا حدث خطا في الارسال فأرجو أن ترسل صورة للسطر الأصفر الذي توقف عنده الكود تحياتي Excel e whatapp1.xls
    1 point
  42. سؤال حول نفس الموضوع هل يتم ارسال الرسايل للمضافين عندك في الجوال فقط ام لاي رقم حتي ولو لم يكن مسجلا في الجوال؟
    1 point
  43. السلام عليكم لقد قام الملف بفتح رابط موقع الواتس آب لكن لم يقم بإرسال أية رسالة، قمت بتسجيل اسم من قائمة الاتصال لدي و لكن ما هي الصيغة التي ينبغي تسجيل رقم الهاتف بها؟ شكراً لكم ==== لقد تم إرسال الرسائل، المشكلة كانت ببطء الإنترنت لدي.
    1 point
  44. اخي ابو عيد سبق وان جربت هذه الطريقة اولا تفتح الواتس من جوالك وتتركه مفتوح عند البدء بتطبيق الكود ثانيا تسجيل الدخول على واتس الويب https://web.whatsapp.com/ عبر المتصفح وتقراء الباركود من جوالك "واتس ويب" لاعتماد دخول الواتس من نفس الجهاز وتسجيل الاسماء او الارقام في القائمة اذا سجلت اسماء ضروري تسجل نفس الاسم المسجل في جوالك يقوم الكود بفتح رابط الواتس عبر المتصفح والبحث عن الاسم او الرقم ويرجع ينسخ الرسالة ويحطها بمربع كتابة الرسائل وينقر ارسال وهكذا يكرر العملية اذا سجلت اكثر من اسم
    1 point
  45. السلام عليكم ورحمه الله وبركاته اخ @ابو العلاء نستأذن حضرتك في رفع الشيت المختص بالارسال مع النص فقط وجزاكم الله خيرا
    1 point
  46. لا يمكن عمل هذا فكل هذا خدمات بمقابل مادى
    1 point
  47. السلام عليكم أخي محمد انا لن اتطرق لطريقة عمل النموذج الجديد ، "لأننا" لم نلحظ المشكلة في النموذج الاصل ولكني دخلت في كود Combopn_AfterUpdate : pn = DLookup("pn", "code", "[pn]=forms!frm_dataentry!Combopn") size = DLookup("Size", "code", "[pn]=forms!frm_dataentry!Combopn") vendor = DLookup("Vendor", "code", "[pn]=forms!frm_dataentry!Combopn") Description = DLookup("Description", "code", "[pn]=forms!frm_dataentry!Combopn") Maxrl = DLookup("Maxrl", "code", "[pn]=forms!frm_dataentry!Combopn") Maxrlegyptair = DLookup("Maxrlegyptair", "code", "[pn]=forms!frm_dataentry!Combopn") ACType = DLookup("actype", "code", "[pn]=forms!frm_dataentry!Combopn") Pos = DLookup("pos", "code", "[pn]=forms!frm_dataentry!Combopn") BiasRadial = DLookup("biasradial", "code", "[pn]=forms!frm_dataentry!Combopn") code = DLookup("code", "code", "[pn]=forms!frm_dataentry!Combopn") لاحظت انك تنادي الجدول (اي تعمل استعلام للجدول) 10 مرات !! انا دائما لما اعمل برامجي ، اعمل البرنامج على اساس انه سيكون عبارة عن جزئين ، الواجهة FE ، والجداول BE ، وان الجداول BE ، ستكون في شبكة ، وان الواجهة FE ستكون لأكثر من مستخدم. لهذا السبب ، فيجب ان نقلل الزحمة في الشبكة ، وذلك بتقليل زيارة/استعلام الجداول قدر الإمكان ، وعند كل زيارة ، يجب ان نأخذ اكبر كمية من البيانات المطلوبة ، ثم نتعامل معها محليا في FE. لذلك ، فانا هنا اعطيك احد البدائل (والتي لا يعرفها الكثير ، لأنها تعمل على الاكسس 2003 فما فوق) ، فالكود التالي ، يقوم بزيارة/استعلام الجدول عن طريق DLookup مرة واحدة ، ويأخذ 10 بيانات مرة واحدة ، فلذا يمكن ان يستبدل كودك اعلاه: Dim x() As String A = DLookup("[pn] & '|' & [Size] & '|' & [Vendor] & '|' & [Description] & '|' & [Maxrl] & '|' & [Maxrlegyptair] & '|' & [actype] & '|' & [pos] & '|' & [biasradial] & '|' & [code]", "code", "[pn]=forms!frm_dataentry!Combopn") x = Split(A, "|") ' For i = LBound(x) To UBound(x) ' Debug.Print x(i) ' Next i Me.pn = x(0) Me.size = x(1) Me.vendor = x(2) Me.Description = x(3) Me.Maxrl = x(4) Me.Maxrlegyptair = x(5) Me.ACType = x(6) Me.Pos = x(7) Me.BiasRadial = x(8) Me.code = x(9) جعفر كل كلمات الشكر لا تعبر عما احس به نحوك استاذى الكريم ومعلمى الجليل فعلا فنان جزاكم الله خير الجزاء ان شاء الله
    1 point
×
×
  • اضف...

Important Information