بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
Salem2020
عضو جديد 01-
Posts
47 -
تاريخ الانضمام
-
تاريخ اخر زياره
السمعه بالموقع
6 Neutralعن العضو Salem2020
البيانات الشخصية
-
Gender (Ar)
ذكر
-
Job Title
Teacher
اخر الزوار
بلوك اخر الزوار معطل ولن يظهر للاعضاء
-
طريقة عمل اكثر من استعلام في استعلام واحد
Salem2020 replied to Salem2020's topic in قسم الأكسيس Access
نعم هذا هو المطلوب ... جزاك الله خير أخي أبو خليل -
طريقة عمل اكثر من استعلام في استعلام واحد
Salem2020 replied to Salem2020's topic in قسم الأكسيس Access
بالتأكيد اخي الكريم ارغب بتقريب 249.5 الى 250 وهذا سيتم بدون اي مشاكل لكن المشكلة قد تحدث في رقم مثل 244.5 حيث سيتم تقريبة الى 244 او رقم مثل 248.5 سيتم تقريبة الى 248 كون التقريب في اكسس يعتمد على الرقم الموجود يسار الجزء العشري فإن كان فردي سيتم التقريب بشكل طبيعي اما اذا كان العدد زوجي فسيتم حذف الجزء العشري بالكامل وقد تجاوزت هذه المشكلة بالدالة الموضحة حيث قمت بتقريب جميع العلامات بشكل صحيح وسليم وتبقى المشكلة هو كيفية انشاء استعلام متداخل احصل من خلاله على ترتيب الارقام المقربة في نفس الاستعلام فلو كان عندي الدرجات التالية: احمد 249.5 سيقرب الى 250 وسيحصل على المركز الاول علي 248.5 سيقرب الى 248 وسيحصل على المركز الثاني وسيم 248.0 سيقرب الى 248 وسيحصل على المركز الثاني بالاشتراك مع الطالب (علي) والمفترض ان يحصل على المركز الثالث بينما الطالب (علي) هو المركز الثاني وهذا الامر لا يحصل في اكسس بسبب تقريب الـ ( Banker's ) على عكس الاكسل وهنا ينشأ الاختلاف في الترتيب. طبعا أنا قد تجاوزت مشكلة التقريب والترتيب بنجاح ولكن يبقى كيف اجعل الناتج الجديد في نفس جدول الاستعلام بجوار العلامات المقربة ارجوا أن اكون قد وفقت في ايصال الفكرة المطلوبة ، وتقبل خالص التحية -
السلام عليكم ورحمة الله في الملف المرفق تجدون جدول باسم Students يحتوي على حقلين فقط هما Name و Marks لمجموعة من الطلاب ، وقمت بإنشاء استعلام اسمه Rank_Query لترتيب الطلاب بحسب درجاتهم بحيث لا يتم القفز على المنزلة المشغولة بالمكرر ، بمعنى إذا كان هناك ثلاثة طلاب درجاتهم 250 سيأخذون جميهم الترتيب (1) بينما صاحب الدرجة 249 سيأخذ الترتيب (2) وليس (4) كما هو معهود. طبعا دالة الترتيب موجودة في عرض SQL وتقوم بترتيب القيم بفعالية دون القفز على المرتبة المشغولة بالمكرر دالة الترتيب SELECT T2.Marks, 1+(SELECT COUNT(*) FROM ( SELECT DISTINCT Marks FROM [Students] ) AS T1 WHERE T1.Marks > T2.Marks) AS Rank FROM Students AS T2 ORDER BY T2.Marks DESC; ما أريد فعله هو أن يتم ترتيب الدرجات وهي مقربة وليست كسرية ولكن المشكلة الوحيدة التي تواجهني هي أن برنامج الاكسس يعتمد طريقة تقريب الـ ( Banker's ) وليس التقريب المعتاد كما في الاكسل حيث يقرب الرقم 2.5 الى 2 وليس 3 كما يفترض. وللتغلب على هذه المشكلة قمت بوضع دالة اسمها StandardRound خصيصا لهذا الغرض في Module على النحو التالي ' This function overcomes the bankers Rounding that occurs in the ' built-in VBA Round function to provide true (symmetric) numeric Rounding ' Created by TechOnTheNet.com Public Function StandardRound(pValue As Double, pDecimalPlaces As Integer) As Variant Dim LValue As String Dim LPos As Integer Dim LNumDecimals As Long Dim LDecimalSymbol As String Dim QValue As Double ' Return an error if the decimal places provided is negative If pDecimalPlaces < 0 Then StandardRound = CVErr(2001) Exit Function End If ' If your country uses a different symbol than the "." to denote a decimal ' then change the following LDecimalSymbol variable to that character LDecimalSymbol = "." ' Determine the number of decimal places in the value provided using ' the length of the value and the position of the decimal symbol LValue = CStr(pValue) LPos = InStr(LValue, LDecimalSymbol) LNumDecimals = Len(LValue) - LPos ' Round if the value provided has decimals and the number of decimals ' is greater than the number of decimal places we are rounding to If (LPos > 0) And (LNumDecimals > 0) And (LNumDecimals > pDecimalPlaces) Then ' Calculate the factor to add QValue = (1 / (10 ^ (LNumDecimals + 1))) ' Symmetric rounding is commonly desired so if the value is ' negative, make the factor negative ' (Remove the following 3 lines if you require "Round Up" rounding) If (pValue < 0) Then QValue = -QValue End If ' Add a 1 to the end of the value (For example, if pValue is 12.65 ' then we will use 12.651 when rounding) StandardRound = Round(pValue + QValue, pDecimalPlaces) ' Otherwise return the original value Else StandardRound = pValue End If End Function حيث قمت بعمل حقل جديد في نفس الاستعلام السابق باسم Rounded وقمت باستدعاء الدالة في منشئ التعبير الخاص به على النحو التالي: StandardRound( [Marks],0) فتم تقريب الدرجات بشكل ممتاز وطبيعي بعيدا عن الـ Bankers طيب .. المطلوب يا إخواني الاعزاء وأصحاب الخبرة كيف يمكنني تطبيق دالة الترتيب السابقة وذلك على الحقل الجديد المقرب Roundedوتكون النتيجة في نفس جدول الاستعلام بجوار عمود الدرجات المقربة بالدالة وليس في استعلام منفصل. لا اعلم شيء عن الاستعلامات المتداخلة أو الفرعية وطريقة التعامل معها فخبرتي في الاكسس متواضعة اتمنى أن يقوم أحد الاخوة بمساعدتي كما آمل ان يكون المطلوب واضحا. ودمتم بخير ملاحظة : جميع الدوال والاكواد منقوله ولم اقم بإنشاء او اختراع اي منها. Ranks.accdb
-
ترتيب الطلاب رقميا بدون قفز المرتبة التالية عند وجود مكرر
Salem2020 replied to Salem2020's topic in قسم الأكسيس Access
السلام عليكم اشكرك شكرا كثيرا أخي Barna وأبشرك أنني بعد عناء البحث وجدت أخيرا الكويري المطلوب وللفائدة اضعه هنا وكل ما عليك فعله بعد إنشاء الكويري أن تقوم بعرضه في وضع SQL ثم لصق الكود التالي مع تغيير اسم الجدول وحقول الاستعلام بحسب ما هو لديك اسم الجدول هو Table حقل الاسم Name حقل الدرجة Mark الحقل الاضافي الخاص بالترتيب Rank SELECT T2.Name, 1 + ( SELECT COUNT(*) FROM ( SELECT DISTINCT Mark FROM [TABLE] ) AS T1 WHERE T1.Mark > T2.Mark) AS Rank FROM [Table] AS T2 ORDER BY T2.Mark DESC -
السلام عليكم ورحمة الله تجدون في الملف المرفق جدول بسيط جدا يحمل اسم Table يحتوي على ثلاثة حقول هي حقل الرقم ID وحقل الاسم Name وحقل الدرجة Mark لمجموعة من الطلاب ارغب بعمل استعلام (كويري) يقوم بترتيب الطلاب رقميا (فقط) وذلك حسب الدرجة أي يكتب أمام أعلى درجة رقم (1) والثاني (2) والثالث (3) وهكذا فقط مع ضرورة عدم تجاوز أي رقم في حال وجود مكرر فمثلا تجد أن الدرجة (86) مكررة مرتين وبذلك يكون هناك طالبين يحملون المرتبة (3) اريد بعد ذلك أن ينتقل الى (4) ولا يتم القفز إلى (5) وهكذا بحثت كثيرا في النت ووجدت عدة حلول ولكنها ليست بالمستوى المطلوب حيث أن اغلب تلك الحلول تتم بعمل تقرير وأنا أرغب بأن يكون في جدول استعلام وهناك حلول اخرى ولكنها تقفز المرتبة في حال وجود رقم مكرر. ارجوا مساعدتي في ذلك ولكم فائق الاحترام Students.accdb
-
السلام عليكم ورحمة الله وبركاته أخواني الاكارم تجدون في الرابط التالي https://drive.gogle.cofile/d/1xH_gFE0KqQwRWVm_n627At5EDnE8nq/view إكسل بحجم 4 ميجابايت (لهذا السبب لم استطع رفعه مباشرة مع الموضوع ) وهذا الملف عبارة عن برنامج متكامل لإدارة مدرسة يحتوي على واجهات ووحدات ماكرو وأزرار والعديد من المميزات الأخرى وقد تم ضبط حجم الصفحات والشيتات بما يتناسب مع دقة شاشة الكمبيوتر الخاص بي وهي 1080 بكسل في 1920 بكسل كون البرنامج يعرض في وضع ملء الشاشة. ولكن عند نقل الملف إلى جهاز كمبيوتر آخر فيه إعدادات الشاشة مختلفة هنا يحدث الخلل حيث يتم اقتصاص واجتزاء واختفاء بعض الاطراف والأزرار بحكم اختلاف عرض الشاشة. المطلوب هو : هل هناك كود معين استطيع من خلاله جعل البرنامج يتخذ بشكل آلي وتلقائي حجم الشاشة التي يعرض عليها مهما كانت دقتها أو ابعادها ارجوا ان يكون المطلوب واضح ولكم جزيل الشكر والتقدير كلمة المرور لفتح البرنامج هي : 2522004 كلمة المرور لفتح محرر الاكواد : 3061979
-
السلام عليكم المصنف المرفق يحتوي على 9 شيتات مرقمة من 2 إلى 10 قمت بعمل زر في الشيت الأول والذي يحمل الرقم 2 بحيث يقوم بتصدير جميع الشيتات الملونة بالأحمر وفتحهم في نافذة جديدة بعيدا عن بقية الشيتات تمهيدا لحفظهم بشكل مستقل ولكن المشكلة أن هذا الزر يقوم فقط بتصدير الشيت الحالي وأنا ارغب بأن أصدر جميع الشيتات باللون الأحمر ( 2 – 4 – 6 – 8 – 10 ) بحيث تفتح جميعها في ملف واحد هل يستطيع أحد إفادتنا عن الاكواد المطلوب إضافتها للزر لعمل المطلوب ولكم خالص الود والتقدير School.xlsm
-
طريقة عمل شريط تمرير مع حفظ البيانات من التعديل
Salem2020 replied to Salem2020's topic in منتدى الاكسيل Excel
Thank you very much my dear brother, it works perfectly i really appreciate your kind help جزاك الله خيرا -
السلام عليكم ورحمة الله عندي مشكلة بسيطة في الملف المرفق حيث قمت بعمل شريط تمرير في الورقة الثانية لعرض البيانات على عشرة صفوف فقط من الورقة الاولى المشكلة تكمن في أنه عند عمل حماية للورقة بكلمة مرور لا استطيع استخدام شريط التمرير أنا اريد أن تبقى البيانات فقط محمية بينما يستطيع المستخدم استخدام شريط التمرير لعرض البيانات. إن كان لدى احد الاخوة فكرة أو حل لتجاوز هذه المعضلة أكون له من الشاكرين علما بأن كلمة المرور للشيت الثاني هي 2522004 ودمتم في رعاية الله Password.xlsx
-
السلام عليكم الملف المرفق يحتوي على ثلاثة شيتات يهمنا الشيت الأخير (ش1 1) وهو عبارة عن شهادة تستقي بياناتها من الشيت الثاني (م1 1) عبر القائمة المنسدلة (سجل الطالب) وقمت بعمل زر ازرق يقوم بطباعة جميع شهادات الطلاب دفعة واحدة. المشكلة هي أن الكود الخاص بطباعة الكل يقوم بطبع جميع محتويات القائمة المنسدلة بحسب الصفوف في الشيت (م1 1) وعددها (30) وأنا عندي فقط (18) طالب فكيف أجعل الكود يتوقف عند آخر طالب في الكشف مهما كان عدد الطلاب فيه ولا يواصل الطباعة حتى النهاية لأن ذلك يترتب عليه طباعة شهادات فارغة لا تحوي بيانات. ... ارجوا مساعدتي في حل هذه المشكلة ولكم كل الود والاحترام School.xlsm
-
فرز الطلاب الناجحون والراسبون بطريقة آلية من الكشف العام
Salem2020 replied to Salem2020's topic in منتدى الاكسيل Excel
احسن الله إليك أخي ابراهيم ... جهدك يستحق الثناء والتقدير الف شكر ❤️ -
السلام عليكم ورحمة الله مرفق ملف اكسل يحوي ثلاث ورقات الأولى فيها بيانات الطلاب الثانية والثالثة تحتوي على قوالب فارغة ارغب بوضع الطلاب الناجحين في أحدها والطلاب الراسبين في الآخر بشكل آلي عن طريق معادلات ودوال تقوم باستيراد البيانات من الورقة الأولى من يستطيع أن يخدمني في ذلك أكون له من الشاكرين ودمتم في رعاية الله وحفظه 1.xlsx
-
السلام عليكم ورحمة الله مرفق ملف عبارة عن جزء بسيط من مشروع مدرسي قمت بإعداده واضفت له العديد من وحدات الماكرو وعند تشغيله يتم إخفاء كافة النوافذ والقوائم وأوراق العمل بحيث لا يستطيع أحد تغيير أي شيء فيه على الاطلاق حيث أصبح الملف أشبه ما يكون بالبرنامج المتكامل إضافة إلى أن البيانات ومحرر الاكواد محميين بكلمة مرور فيصبح من الصعب تعديل أو إضافة أي شيء المشكلة هي وجود ثغرة أمنية بسيطة جدا متعلقة بأوراق العمل (الشيتات) فعندما أقوم بعمل كلمة مرور لكامل المصنف بغرض حماية الشيتات من الحذف أو الإضافة يؤدي ذلك إلى تعطيل وحدات الماكرو (وعند إخفاء الشيتات من الخيارات المتقدمة) يستطيع أي شخص الدخول إليها وإظهارها والعبث فيها وهذا هو الغرض الذي من أجله قمت بإعداد الملف لكي يفتح بدون عرض أي قوائم أو نوافذ. المشكلة تكمن في انه عند الضغط على مفتاحي Ctrl + P اختصار أمر الطباعة يؤدي ذلك إلى ظهور قائمة الخيارات والتي من خلالها يمكن إظهار أوراق العمل والعبث بها. المطلوب : هل استطيع بأي وسيلة تعطيل تلك القائمة أو إلغاء أمر الطباعة عن طريق لوحة المفاتيح أو حماية الشيتات بأي طريقة أخرى دون تعطيل وحدات الماكرو ولكم كل الشكل والتقدير School.xlsm