بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 12/28/14 in مشاركات
-
أخي الفاضل ارفق ملف بالشكل الذي ترغبه وبشكل النتائج المتوقعة عند الضغط على زر معين .. البرامج تستغرق أوقاتاً طويلة جداً لتنفيذها ..هذا من ناحية ، من ناحية أخرى .كل شخص بيكون له وجهة نظر في المطلوب إنت ببساطة ترفق ملف بشكل البرنامج ، وتبدأ واحدة واحدة تطلب ، وإن شاء الله تجد المساعدة يعني امشي بمبدأ .. ابني البرنامج الخاص بك .. وواحدة واحدة وفي كل مرة طلب واحد ..حتى تجد من يساعدك ، وإلا لن تجد الكثير من المساعدة ..2 points
-
السلام عليكم ورحمة الله تعالى وبركاته إستكمالا لدرس الأستاذ/الصقر الجريح داله DateDif رائعه لايجاد الفرق بين تاريخين او طرح تاريخين شرح مبسط للدوال تستخدم هذه الدالة فى إيجاد الفرق بين تاريخين شكل الدالة يكون كالتالي: YEAR(Date2)-YEAR(Date1) MONTH(Date2)-MONTH(Date1) DAY(Date2)-DAY(Date1) شرح الدوال وتتكون من جزئين Date1 هو تاريخ الاقدم Date2 هو تاريخ الاحدث واليكم تطبيقات عمليه للداله مثال 1 لدينا تاريخ بالخلية B1 وهو 2010/08/05 تاريخ الميلاد وتاريخ بالخلية B2 وهو 2014/12/27 تاريخ اليوم ونريد كم فرق السنوات بين تاريخين : نكتب بالخلية B4 الداله التالية : لإيجاد الفرق بين السنوات = YEAR(B2)-YEAR(B1) ويكون ناتج المعادله وهو 4 سنوات كما في الشكل السنة 4 نكتب بالخلية B5 الداله التالية: لحساب الفرق بين الشهور =MONTH(B2)-MONTH(B1) ويكون ناتج المعادله وهو 4 شهور كما في الشكل الشهر 4 نكتب بالخلية B6 الداله التالية : لإيجاد الفرق بين الأيام =DAY(B2)-DAY(B1) ويكون ناتج المعادله وهو 22 يوما كما في الشكل اليوم 22 نكتب بالخلية B8 الداله التالية: = YEAR(B2)-YEAR(B1)&" سنوات " &MONTH(B2)-MONTH(B1)&" شهور "&DAY(B2)-DAY(B1)&" يوم " تنسيق النص على الشكل التالي 4 سنوات 4 شهور 22 يوم مع مراعاة تنسيق إتجاه النص من اليمين لليسار وفي الأخير أتمنى الشرح أن ينال إعجابكم مع تحيات محبكم/ الجموعي1 point
-
1 point
-
السلام عليكم ورحمة الله وبركاته الى السادة اعضاء منتدانا الكرام اليكم اليوم شرح طريقة تشغيل مؤقت Timer بالملي ثانية. ولتوضيح فقد عملت كلاس صغيرة اسميتها SuperTimer سأوضح طريقة استخدامها بمثال مرفق في الموضوع في المرفق ستجد ملفان الاول ملف اكسل و هو المثال الذي استخدمناه و ملف اخر وهو ملف الكلاس SuperTimer.cs طريقة الاستخدام ========= 1 - لتعريف متغير يمثل المؤقت اكتب الكود التالي : Dim st As New SuperTimer 2 - بعد تعريف المتغير (في حالتنا هو st) يمكننا انشاء اجراء بأي اسم. (سيحتوي الاجراء على الكود الذي سينفذ من قبل المؤقت) مثال: نرغب بزيادة قيمة الخلية A1 بمقدار 1 كل ربع ثانية. و ان يتم التوقف عند و صول قيمتها الى ال 100 Private Sub F1() [A1] = [A1] + 1 If [A1] >= 100 Then If st.Active Then st.StopTimer End Sub 3 - الكود التالي يوقف المؤقت اذا كان يعمل: If st.Active Then st.StopTimer 4 - لتشغيل المؤقت اكتب الامر StartTimer و مرر عنوان الاجراء الذي ترغب في تنفيده (في حالتنا الاجراء F1) اليها: هنا سنطلب من الاكسل تشغيل المؤقت كل ربع ثانية (كل ثانية تساوي 1000 ملي ثانية) و ان يتم تنفيذ الاجراء F1 st.StartTimer 250, AddressOf F1 5- الكلاس ممكن ان تنشء مجموعة من الاخطاء منها: 1 - خطأ المؤقت ليس قيد التشغيل : اذا تم ايقاف المؤقت بينما لا يعمل st.ERROR_TIMER_IS_NOT_ACTIVE 2 - خطأ المؤقت قيد التشغيل : اذا تم اعادة تشغيل المؤقت وهو يعمل st.ERROR_TIMER_ALREADY_STARTED 3 - خطأ المدة : اذا تم وضع قيمة اقل او تساوي صفر لمدة تشغيل المؤقت st.ERROR_TIMER_DURATION_ERROR 4 - عند حدوث خطأ في تهيئة المؤقت st.ERROR_TIMER_INITIALIZATION_FAILED ملاحظة ===== استخدمه بحذر و عند الحاجة. يمكنك تحميل الكلاس و المثال من الملف المرفق اسال الله تعالى ان يتقبل منى ومنكم صالح الاعمال SuperTimer.zip1 point
-
إخوتي في الله منذ مدة و أنا أبحث و أتتبع و أرصد كل المشاركات و المداخلات للإخوة الأفاضل هنا في منتدى أوفيسنا الغالي و الرائد ..لكن كل مرة أصاب بالاحباط و الرجوع إلى نقطة الصفر ..ليس بسبب قلة المادة هنا لكن المشكلة في كوني مبتدئا في الاكسل و أريد شرحا لو أمكن بالفيديو أو بالصور بالتوضيحية و سأكون للجميع دون استثناء من الشاكرين و الممتنين طول العمر في الدنيا والآخرة : أريد شرح طريقة توزيع الطلاب المترشحين الممتحنين على اللجان ( القاعات ) ..لو كان عندي مثلا في مركز الامتحان 200 طالب .. بحيث سيكون كل 20 طالب بلجنة ..يعني 20 لجنة .. الطلاب من 1 إلى 20 سيكونون باللجنة رقم 1 ..الطلاب من 21 إلى 40 باللجنة 2 ..من 41 إلى 60 باللجنة 3 ...ولو يكون عندي مثلا 208 طالب اللجنة الأخيرة سيكون بها طبعا فقط 8 طلاب..الخ ..وفي الوقت نقسه اعمل قصاصات صغيرة etiquettes (رقم اللجنة - اسم الطالب - رقم التسجيل ) .... يعني في الملف يكون عندي 3 شيتات ..الشيت الأول كقاعدة بيانات أنا الذي أملأه ( الرقم التسلسلي رقم التسجيل - الاسم - تاريخ الميلاد .. رقم اللجنة ) ..الشيت الثاني يكون عبارة عن قوائم للطلاب الذين كتبتهم في الشيت الأول ..كل قائمة بها كما ذكرت ذكرت 20 طالبا بأسمائهم و أرقام تسجيلهم وتواريخ ميلادهم وأرقام تسجيلهم..والشيت الثالث به 20 قصاصة بنفس المعلومات السابقة .. يعني المعلومات التي سوف ادخلها في في الشيت الأول تنسخ تلقائيا للشيت الثاني و الثالث لتكون جاهزة للطباعة عن طريق زر تغيير الصفحات ..رجاء اخواني لا تبخلوا عني بإرشاداتكم و توجيهاتكم لأني لا أريد برنامج جاهز أريد أن أتعلم الفكرة وألف شكر و بارك الله فيكم جميعا ..1 point
-
السلام عليكم ورحمة الله تعالى وبركاته تم الانتهاء من التصميم الفورمه الخاصة بتصدير الريبورتات انا قدرت اجمع كل التقارير وقدرت اعدل على الاكواد في الفورم علشان أوصل للنتيجه اللى كانت في خيالى وهى كما طلبها الأستاذ الفاضل والاخ الحبيب أبو آلاء ولكــــن انا عجزت عن تنفيذ شيء بصراحه انى اجمع اكتر من شرط في حدث زر امر انا كانت فكرتى اللى كنت عاوز انفذها كالاتى ببساطه انا قلت له لو الريبورت = 1 في قائمة الريبورت اجعل تصدير الملف باسم الريبورت حسب الاختيار من قائمة التصدير بالامتداد المراد اختياره عاوز اضيف كود لكل قيمة في قائمة الريبورت يعنى عاوز اضيف نفس الكود لما اختار الرقم 2 من الربورت يحقق لى التصدير وهكذا مع كل قيمة حسب عدد الريبورت الموجود في القائمة student بعد التعديل .rar1 point
-
الكتاب من جزأين يتضمن شرح مبسط بالصور و النماذج العملية ... للتحميل الجزء الأول http://www.gulfup.com/?IPnBG4 ... الجزء الثاني http://www.gulfup.com/?g3wG6r1 point
-
ممكن أقول رأيي .. لا أرى أن هناك داعي لهذا الطلب ..فما الفائدة التي تعود علينا (الفائدة العملية) من عمل ذلك ..ما الذي يضطرني أن أنتظر ثانيتين دون أن أضغط إنتر ، إلا بقا لو كانت لوحة المفاتيح زر إنتر مش شغال فيها ههه.. تقبلوا تحياتي (دا مجرد رأي متاخدش بيه)1 point
-
1 point
-
1 point
-
بسم الله ما شاء الله تبارك الله كنت فين قبل ما تلتحق بالمنتدى ..عايزين سيرة ذاتية ليك ..أفصح عن نفسك أبا تراب (فكنوزك ليست بتراب إنما هي كنوز تكال بماء الذهب)1 point
-
أخى الفاضل أبو تراب شكرا جزيلا للاهتمام بالرد على سؤالى ومساعدتى فيه ولكن أخى الكريم ما أقصده أنه عندما أكتب فى h2 مثلا 45 وبدون أن أضغط على Enter أو أى شىء آخر يمهلنى البرنامج ثانيتين ثم ينتقل هو للخلية التالية للاسفل تلقائيا بمعنى آخر يمكننى أن أكتب أعداد فى العمود خلية بعد الأخرى بدون أن أضغط إنتر ( يعنى عليه أنا كتابة الأعداد فى الخلية فقط والبرنامج عليه الضغط على إنتر وإن لم أكتب شىء فى الخلية لا يضغط هو إنتر) أرجو أن تكون فكرتى واضحة وآسف للإطالة وأتمنى مساعدتى وشكرا1 point
-
اخى الفاضل من تبويب تخطيط الصفحة Page Layout ... ازل علامة الصح الموجودة بجانب عرض خطوط الشبكة .... او ال Gridlines ومن نفس التبويب .. ستجد كلمة BackGround او الخلفية .. اختر الصورة التى تريدها .. تحياتي1 point
-
بالنسبة لرابط تحميل الجزء الثاني اللى يواجه مشكلة معاه ممكن يجرب الرابط دة http://www.gulfup.com/?4YPaO61 point
-
1 point
-
السلام عليكم ،،، أنا بالنسبة لي أحببت موضوعكم وجزاكم الله كل الخير على التوضيح والشرح ، بالنسبة لي أنا أقوم بالتالي : 1- تحديد الخلايا . 2- تنسيق الخلايا (Format Cells) . 3- شريط الأرقام (Number Tab) . 4- اختار (custom) . 5- أقوم بوضع هذا التنسيق ------------- YYYY/MM/DD أتمنى قد أفدتكم . أخوكم / مصطفى المنصور1 point
-
1 point
-
السلام عليكم اعتقد هذا ما تطلب بالتوفيق http://up.top4top.net/downloadf-top4top_27f9212da81-rar.html1 point
-
السلام عليكم ورحمة االله وبركاته برجاء استاذه Meriam Elmasry التأكد من الرابط الثانى حيث انه لا يقوم ببدء التحميل شكرا جزيلا وجزاكم الله عنا كل الخير1 point
-
السلام عليكم ورحمة الله أخي الكريم، إن الخلل في معادلة جلب التاريخ... جلب التاريخ يتم من النطاق 'data G1'!$B$141:$IO$208 المسمى dataadby والتاريخ موجود في العمود D أي في العمود الثالث من النطاق dataadby لأن هذا النطاق يبدأ من العمود B وبالتالي فالخطأ في معادلة INDEX و MATCH التي تجلب التاريخ يكمن في الرقم 4 رقم عمود التاريخ في النطاق لذا يجب تغييره بالرقم 3 فتصبح المعادلة في الخلية E15 (مثلا) : =IF(ISERROR(INDEX(dataadby;MATCH(B15;'data G1'!$IO$141:$IO$208;0);3));"";INDEX(dataadby;MATCH(B15;'data G1'!$IO$141:$IO$208;0);3)) بدلا من : =IF(ISERROR(INDEX(dataadby;MATCH(B15;'data G1'!$IO$141:$IO$208;0);4));"";INDEX(dataadby;MATCH(B15;'data G1'!$IO$141:$IO$208;0);4)) ملاحظة : يمكن أيضا التعديل على النطاق المسمى dataadby ونبدؤه من العمود A بدلا من العمود B فيكون 'data G1'!$A$141:$IO$208 بدلا من 'data G1'!$B$141:$IO$208 وأعتقد أن ذلك سيسبب مشكلة في أماكن أخرى من الملف... أرجو أني قدمت يد المساعدة بما يفي بالمطلوب... أخوك بن علية1 point
-
استاذى الكبير الجموعى اولا اشكرك على تفاعلك واضافاتك للموضوع بس لى ملاحظة بسيطه اسمح لى بها جرب A1 2014/8/5 A2 2015/1/5 وجرب دالة month =MONTH(a2)-MONTH(a1) ستجد الناتج 7- وهذا غير صحيح ارجوا المراجعه والافاده ربما يوجد عندى لبس معين غايب عنى ممكن توضحلى تقبل تحياتى وتقديرى1 point
-
بسم الله، إذا كان لديك ورقة عمل فيها معلومات حساسة، كالعنواين، وأرقام الهاتف، والأعمار، والمعلومات الطبية، فإنه ينبغي ألا يقرأها أي شخص غير مصرح له. والسبيل إلى ذلك هو "التشفير". المرفق التالي يحتوي على دالة تشفير/فك تفشير إسمها XorC ، وهي للأمانة العلمية ليست من تصميمي، لكنها دالة مفتوحة قمتُ بإجراء تعديلات طفيفة جدا عليها وأضفتها داخل وحدة برمجية Module مستخدماً إسمها الأصلي، وطبقت عليها جدولاً بسيطاً مؤلفاً من بضعة أسماء وعنواين وأرقام اتصال. الدالة تأخذ الشكل العام التالي XorC (String, Key) حيث String : النص المطلوب تشفيره، وَ Key : مفتاح التشيفر. وكي ترى مثالاً سريعاً على الدالة وكيفية عملها، قم بطباعة التالي داخل إحدى الخلايا الفارغة في ملف إكسيل المرفق XorC("Officena.net", "1234567890") حيث مفتاح التشفير يأخذ أي قيمة تريدها أنت، وهو يعمل بمثابة كلمة مرور للنص المشفر، وكلما كان أطول كان أفضل في قوة التشفير. ولفك التشفير، أعد طباعة النص المشفر داخل الدالة مستخدماً نفس المفتاح XorC("xxxUV^WTZZ_UG", "1234567890") وفق الله الجميع، عبدالله،،، Encrypted Text v01.rar1 point
-
أستاذى الفاضل لاحظ أنه يجب أن يكون تنسيق الخلايا فى الملفات الثلاث واحد وموضوع الأصفار ده لأن حضرتك فى الكود اللى بيجيب الخلايا من مختار 1 الى مختار2 طلبنا احضار المدى كله ( a1:c5 ) الى مختار2 ومن ثم الى مختار3 لذلك الخلية التى بها داتا هنا بتروح الى هناك داتا والخلية الفارغة فى مختار 1 بتروح الى مختار 2 صفر وبالتالى بتكون فى مختار3 صفر لاحظ كمان أن فى الشيت الثالث لينك بيجيب البيانات من مختار2 ده ثابث ما بنغيروش التغيير فقط فقط فى الشيت مختار 1 لما نحب نعيد التجربة مع بيانات جديدة ولحضرتك جزيل الشكر أستاذى العزيز1 point
-
إخواني الكرام وهذا إصدار آخر مختلف قليلاً عن الإصدار رقم 2 حيث أنه أصلا طلب الأخ أحمد غانم أن يكون بهذا الشكل ... :fff: Highlight Activecell's Row And Column V3.rar1 point
-
1 point
-
1 point
-
السلام عليكم الأخ الكريم/الجموعي بارك الله فيك بالنسبة لطلبك. . فإنه يتم استخدام Text في حالة أن يتم استخدام التكست بوكس للتعامل مع النصوص بالأحرف اما بالنسبة value فإنه يتم استخدامها في حالة استخدام التكست بوكس في إدخال أو إخراج قيم في التكست بوكس وعذرا علي عدم ارفاق أمثلة توضيحية حيث اكتب ردي هذا من ع الهاتف ارجو ان اكون قد افدت مبدئيا لحين التوضيح بأمثلة توضح ذلك أو أن يقوم أحد الإخوة بتقديمها تقبل خالص تحياتي1 point
-
غير الكود : Private Sub Worksheet_SelectionChange(ByVal Target As Range) [A1] = Date [A2] = Format(Date, "dd/mmm/yyyy") End Sub1 point
-
السلام عليكم يا رجاله انا عندي مخزن بنزل في بضائع من الشركات ( كوكاكولا -ببسي-تونه-شاي-زيت -سكر.الخ)المهم انا بشتري من الشركات والتجار في الاغلب بالاجل لمده اسبوع او شهر وببيع لمحلات البقاله بالاجل برضه واقوم بالتحصيل اليومي منهم او التحصيل الاسبوعي وهكذا حاسس اني غير مسيطر علي حسابات المخزن ووانا لا اقوم بالجرد وكل حساباتي عباره عن دفتر اكتب فيه التحصيلات الي بأخذها و والفلوس الي بدفعها للشركات انا عايز حضرتكم تعطوني نظام صارم وقوي اسير عليه لاكون إن شاء الله مسيطر علي حساباتي100100 وايه الدفاتر الي المفروض اعملها او ايه التطبيقات الموجوده علي الاكسل ممكن استخدمها او اي حاجه تساعدوا بيها اخوكم1 point
-
الاخ محمد عبدالفتاح ... طبعا حسب فهمي ... ظلل على المدى الذي يحتوي على المعادلات المطلوب نسخها واعمل الاتي Ctrl+H اعمل استبدال للكل من = الى # اذهب الى صفحة الاكسل المراد لصق المعادلة فيها واعمل العكس . Ctrl+H اعمل استبدال للكل من # الى = تحياتي COPY&PASTE.rar1 point
-
1 point
-
حامل المسك، شرح الحلول : أولا: الحل البرمجي الذي قدمه محب العلم المقدمة : جعل مصدر السجلات للنموذج الذي سيتم فيه ادخال الدرجات وحساب النتائج الجدول مباشرة وذلك يؤدي إلى السماح بإمكانية التعديل أو الاضافة لطلبة جدد وكذلك احتساب النتائج ولاحقا عندما تريد تصميم التقارير ستكون العملية سهلة جدا حيث النتائج ستكون متوفرة لك في الجدول وفي هذه الطريقة لا تحتاج إلى استعلام لأنها بحد ذاتها هي عبارة عن استعلامي اجرائي يقوم بتعديل النتائج في الجدول. الإجراءات : إجراء حدث عند النقر على زر احتساب النتائج Private Sub Command17_Click() Dim Rst As Recordset Set DBs = CurrentDb Set Rst = DBs.OpenRecordset("Judges", dbOpenDynaset) Rst.MoveLast Rst.MoveFirst Do While Not Rst.EOF Rst.Edit Rst!maxg = whatmax(Rst!g1, Rst!g2, Rst!g3, Rst!g4) Rst!ming = whatmin(Rst!g1, Rst!g2, Rst!g3, Rst!g4) Rst!grade = whatgrade(Rst!g1, Rst!g2, Rst!g3, Rst!g4) Rst.Update Rst.MoveNext Loop Rst.Close Me.Refresh End Sub هذا الإجراء يقوم بالدوران داخل سجلات الجدول Judges (الحكام) من بدايته وحتى النهاية ولكل سجل (سطر) موجود في الجدول يتم استدعاء ثلاثة اقترانات هي whatmax الذي سيرجع لنا القيمة العظمى من حكم الحكام و whatmin الذي سيرجع لنا القيمى الصغرى من حكم الحكام و whatgrade الذي سيرجع لنا النتيجة بعد خصم القيمة الصغرى والعظمى وفحص كم نتيجة يوجد للقسمة على 2 أو 1 وتخزن هذه النتائج في الجدول في الحقول maxg و ming و grade والتي تمثل الأكبر والأصغر والمستحق على الترتيب الإقتران الأول whatmax Function whatmax(a, b, c, d As Double) max = 0 If a > max Then max = a If b > max Then max = b If c > max Then max = c If d > max Then max = d whatmax = max End Function لاحظ أننا افترضنا أن القيمة العظمى max هي 0 ثم قارنا ذلك مع الدرجة الأولى فإذا كانت أكبر من صفر أصبحت هي الأكبر ثم نقارن مع الدرجة الثانية وهكذا... الإقتران الثاني whatmin Function whatmin(a, b, c, d As Double) min = 100 If a < min Then min = a If b < min Then min = b If c < min Then min = c If d < min Then min = d whatmin = min End Function لاحظ هنا أن العملية عكسية للإقتران السابق حيث أننا نبحث عن اقيمة الصغرى لذلك افترضنا أن القيمة الصغرى min هي 100 ثم قارنا ذلك مع الدرجة الأولى فإذا كانت أصغر من 100 أصبحت هي الأصغر ثم نقارن مع الدرجة الثانية وهكذا... الإقتران الثالث whatgrade Function whatgrade(a, b, c, d As Double) h = 4 If a = 0 Or IsNull(a) Then h = h - 1 If b = 0 Or IsNull(b) Then h = h - 1 If c = 0 Or IsNull(c) Then h = h - 1 If d = 0 Or IsNull(d) Then h = h - 1 g = Nz(a, 0) + Nz(b, 0) + Nz(c, 0) + Nz(d, 0) - whatmax(a, b, c, d) - whatmin(a, b, c, d) If h = 4 Then whatgrade = g / 2 Else whatgrade = g End If End Function وهذا الاقتران الذي سيحسب لنا الدرجة لكل طالب حسب القاعدة المطلوبة ثانيا: الحل البرمجي الذي قدمه Accessna المقدمة : في بعض الاحيان لا نستطيع كتابة استعلام واحد مباشرة يحقق لنا ما هو مطلوب من المسألة وفي هذه الحالة (الأصعب) يلجأ إلى بناء استعلامات مركبة تكون نتيجة استعلام هي مصدر استعلام أخر وهذا هو المنهج الذي اتبعة Accessna في التوصل للحل. الخطوات : 1. بناء استعلام توحيد QryJudgesAll SELECT [no], g1 as grade FROM Judges Union all SELECT [no], g2 FROM Judges Union all SELECT [no], g3 FROM Judges UNION ALL SELECT [no], g4 FROM Judges ORDER BY [no]; وهذا الاستعلام يقوم باختيار رقم الطالب no والحكم الأول g1 ويتم تسمية الحكم grade لكل الطلاب وثم يضيف اليها (يوحدها) الحكم الثاني والثالث والرابع ونتيجة هذا التوحيد ستكون عمودين عمود يظهر فيه رقم الطالب no وعمود تظهر فيه النتيجة التي تم تسميتها grade بمعنى أخر نتيجة استعلام التوحيد هي استعلام فيه حقلين no و grade حسب الصورة السابقة واسم هذا الاستعلام QryJudgesAll وسوف يستخدم في الخطوة التالية 2. بناء استعلام اختيار QryJudgesSum لاحظ أن مصدر هذا الاستعلام هو الاستعلام التوحدي الذي تم إنشاءه بالخطوة الأولى وأن الاقترانات الثلاثة التي تم شرحها في طريقة البرمجة يتم معالجتها هنا وهي MaxG و MinG و Grade 3. بناء استعلام اختيار QryGrades وهذا الاستعلام سيعتبر مصدرا للنموذج حيث يوفر جميع الحقول من جدول البيانات الأساسي judges ويوفر النتائج التي هي في الاستعلام QryJudgesSum ذكر Accessna وهذا كلام دقيق وذلك بتعديل QryJudgesSum ليضم أيضا جميع الحقول من Judges كما يآتي : وهذا الملف بعد اختصار الاستعلامات الثلاث إلى إثنين لمن يحب : judge_Queries_update.rar تحياتي1 point