بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
-
Posts
4506 -
تاريخ الانضمام
-
Days Won
194
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
مشاركات المكتوبه بواسطه Foksh
-
-
وهذه فكرة تجمع بين عرض التكرارات التي يتنافس فيها الطلاب حسب رغبتك ..
-
1
-
-
7 دقائق مضت, mohammed farhat said:
كلامك صحيح وسليم 100% ، لأنك تستعمل واجهة الموقع باللغة الإنجليزية ، فسوف تكون المحاذاة تلقائياً من اليسار لليمين ، و99.999% من المواضيع هنا تكتب ويساق فيها الحديث باللغة العربية ، لذا بدل واجهة الموقع الى العربية من أسفل الصفحة ، وستجد أن المشكلة تم حلها 😉
-
4 ساعات مضت, omran2015 said:
ولدي عدة ملحوظات وهى:
1/ مشكلة القفز في الترتيب ولو تلاحظ أن الترتيب يظهر هكذا
بسيطة أخي الكريم ..
يعني انت تريد إظهار الطلاب الذين في المركز الرابع مثلاً جميعهم بالتمييز بينهم ( متكرر ) !!!!!!!
انا لم أقترب من الدالة التي قمت بإنشائها ، حرصاً على أنه قد يكون مطلبك .. لكن بعد التوضيح ، إليك التعديل الذي تم على الدالتين أولاً :-
Public Function fncTrteeb() Dim rst As Object Dim RankNumber As Long ' تصفير الحقل أولاً CurrentDb.Execute "UPDATE Q_top10 SET trteeb = Null" Set rst = CurrentDb.OpenRecordset("SELECT * FROM Q_top10 ORDER BY average DESC, StudentID ASC", 2) If rst.RecordCount = 0 Then Exit Function rst.MoveFirst RankNumber = 0 Do While Not rst.EOF And RankNumber < 10 RankNumber = RankNumber + 1 rst.Edit rst!trteeb = GetArabicRank(RankNumber) rst.Update rst.MoveNext Loop rst.Close Set rst = Nothing End Function Public Function GetArabicRank(ByVal n As Long) As String Select Case n Case 1: GetArabicRank = "الأول" Case 2: GetArabicRank = "الثاني" Case 3: GetArabicRank = "الثالث" Case 4: GetArabicRank = "الرابع" Case 5: GetArabicRank = "الخامس" Case 6: GetArabicRank = "السادس" Case 7: GetArabicRank = "السابع" Case 8: GetArabicRank = "الثامن" Case 9: GetArabicRank = "التاسع" Case 10: GetArabicRank = "العاشر" Case Else GetArabicRank = "المركز " & n End Select End Functionوالإستعلام سيصبح بهذاالشكل :-
SELECT TOP 10 S.StudentID, S.StudentName, S.ClassName, S.SETNO1, F.SemesterID, F.TotalSum, F.average, F.Grade, GetArabicRank(( SELECT COUNT(*) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND (F2.average > F.average OR (F2.average = F.average AND S2.StudentID < S.StudentID)) ) + 1) AS RankText FROM TBL_Students AS S INNER JOIN TBL_Final1 AS F ON S.StudentID = F.StudentID WHERE F.SemesterID = [أدخل رقم الفصل] AND S.ClassName = [أدخل اسم الصف] ORDER BY F.average DESC , S.StudentID;في الاستعلام القديم كان المنطق هو ( احسب كم طالب معدله أكبر مني ) ؟؟
فإذا كان هناك طالبان معدلهما متساوٍ ( مثلاً 91% ) ، فإن كلاهما سيجد نفس العدد كترتيب من الطلاب المتفوقين عليهما ، وبالتالي يأخذان نفس الرقم ( مثلاً المركز 2 ) ، ثم يقفز الترتيب للمركز 4 مباشرة .
أما في الاستعلام المعدل ، إذا تساوى طالبان في المعدل ، انظر لرقم الطالب ؛ صاحب الرقم الأصغر يعتبر هو الأسبق .
وبالنسبة لي هذا غير منطقي ، فلا بد من شرط ثاني لتحديد المنافس على نفس المركز !!!!
💥 وفي هذا الموضوع هنا ، قد تطرقنا مع مشاركة أخي @ابو جودي لنفس الفكرة تقريباً .
وملفك بعد التعديل :-
-
اهاااا ، بعد متابعة النتيجة ، وجدت أنه يأتيك بجميع الطلاب للفصل الأول والصف الثامن وعددهم 16 على سبيل المثال .. وأنت تريد فقط 10
جرب هذا الإستعلام التالي :-
SELECT TOP 10 S.StudentID, S.StudentName, S.ClassName, S.SETNO1, F.SemesterID, F.TotalSum, F.average, F.Grade, ( SELECT COUNT(*) FROM TBL_Final1 AS F2 INNER JOIN TBL_Students AS S2 ON F2.StudentID = S2.StudentID WHERE F2.SemesterID = F.SemesterID AND S2.ClassName = S.ClassName AND F2.average > F.average ) + 1 AS RankOrder FROM TBL_Students AS S INNER JOIN TBL_Final1 AS F ON S.StudentID = F.StudentID WHERE F.SemesterID = [أدخل رقم الفصل] AND S.ClassName = [أدخل اسم الصف] ORDER BY F.average DESC, S.StudentID ASC;-
1
-
-
وعليكم السلام ورحمة الله وبركاته ..
جرب هذا المرفق بعد تثبيت التطبيقين المرفقين معه لدعم السحب من السكانر أو الفيدر
-
بدايةً ، وعليكم السلام ورحمة الله وبركاته ..
لديك نقطة واحد فقط كان عليك إدراكها . وهي إضافة الحقل ClassID من الجدول F ، وجعل الشرط [أدخل اسم الصف] له وليس للحقل ClassName من الجدول S . قبل تجربة المرفق ، جرب دون النظر للمرفق حتى تفهم المقصود من كلامي ..
مع العلم أن ملفك يعمل معي بشكل سليم باستخراج الأوائل . إلا إن كان هناك نقطة لم تتوضح في شرحك 😀
-
1 ساعه مضت, mohammed farhat said:
جزاكم الله كل خير
هل هناك حل لمشكلة ظهور الكلمات باللغة الانجليزية عند استخدمها داخل الجملة باللغة العربية
لان عند استخدام اي كلمة انجليزية في وسط الجملة تظهر في المنتدي بشكل مختلف عما كتبه الكاتب
و مثال على ذلك الصورة الاخيرة التي رفعتها و البوست السابق للمهندس فادي
أين المشكلة لم أفهم بعد 😅
في البوست الأخير لي لم أر مشكلة في موضع الكلمات ، ولا حتى في الصورة التي ارفقتها ..
لإذا كان اتجاه النص ومحاذاته من اليمين لليسار وكان يتخلله كلمات أنجليزية فستظهر بمكانها الصحيح 100% . ولكن وللتجربة اجعل النص عربي ولكن محاذاته واتجاهه من اليسار لليمين فستجد أن الكلمة الأنجليزية قد انتقلت لنهاية السطر بدلاً من بدايته مثلاً .. انظر الصورة للتوضيح أكثر
-
11 ساعات مضت, mohammed farhat said:
هل ممكن توضيح النقطة التالية كما وضحتم الامر مع ال gmail
باختصار شديد :-
ضرورة فتح برنامج Outlook في الكمبيوتر الذي تريد استعمال الأداة فيها . وتقوم بتسجيل بريدك الذي ستستعمله في الإرسال من Outlook فقط .
السبب هنا أننا سنستعمل السيرفر أو الخدمة المدمجة في مايكروسوفت نفسها والمنفذ نفسه الذي يستعمله برنامج Outlook بشكل خفي خلف الكواليس .. فقط لا غير .
-
3 دقائق مضت, حافظ التونسي said:
اما DMAX هل من الممكن ان تشرح لي كيف و اين اضعها حتى يبقى الرقم مطابقا و لكم جزيل الشكر
سؤالي الذي أريد منك إجابة مقنعة له حتى نصل إلى جوهر المشكلة لنجد لها حلاً ..
لماذا تشترط أن يكون الترقيم مرهوناً ومقروناً ومساوياً بعدد السجلات التي لديك ..
يعني لو حذفت السجل رقم 4 من أصل السجلات 1500 والتي هي فعلاً تطابق الترقيم ، فهل تريد أن يكون الترقيم للسجل الجديد = 1500
أما لاستخدام الدالة DMAX مثلاً ، فعليك أولاً تغيير نوع الحقل من ترقيم تلقائي الى حقل رقمي ، ثم في مربع النص داخل النموذج تستعمل الجملة
= Nz(DMax("[BL n°]", "BL"), 0) + 1في القيمة الإفتراضية لمربع النص داخل النموذج .
-
1 ساعه مضت, حافظ التونسي said:
و لما اغلقها و احاول الفتح من جديد الاحظ ان العداد يتقدم كما هوفي الصورة رقم 2
وعليكم السلام ورحمة الله وبركاته ..
نوع الحقل BL n° في جدول BL هو AutoNumber . أي ترقيم تلقائي .
وهذا من الطبيعي يا صديقي لأنه عندما تدخل أي قيمة في أي حقل داخل الجدول ، فإن آكسيس يعتبره سجل جديد ويقوم بحجزه حتى عند حذفه أو إلغاء الإدخال والتراجع . يعني انت لو حذفت السجل رقم 2 من أصل السجلات الـ 6 التي لديك لتصبح 5 ، فإن السجل الجديد لن يكون رقمه 6 بل سيصبح 7 وهذا كله شأن الترقيم التلقائي .
لذا استخدم للترقيم حقل رقمي باستعمال DMAX مثلاً .
أما المشكلة الأولى التي ذكرتها لم تظهر عندي للأسف بعد فتح سجلات جديدة كثيرة
-
تم تحديث الملف المرفق في المشاركة السابقة ، لوجود السطر التالي زائداً سهواً ..
Opt_01_AfterUpdate -
-
إصلاح مشكلة الإرسال على دفعات ، حسب الوقت الذي يقرره المستخدم من خانتي
.
-
ضبط مشكلة Yahoo عند استلامه بريد من Gmail ، والسبب طبعاً في هذه المشكلة هو سيرفر الـ Yahoo نفسه لما يفرضه من قيود أمان .
وحيث أنه يمكن للمستخدم اعتبار الإيميل Not Spam عند استلامه بريد من Gmail . - إتاحة الإرسال من Outlook كما فعلنا في Gmail . حيث على المستخدم فقط تشغيل تطبيق الـ Outlook وتفعيل بريده مرة واحدة فقط لا غير . وبعدها لن نحتاج للتطبيق أبداً أو حتى فتح التطبيق بالخلفية أو بأي شكل من الأشكل . السبب في هذا هو عدم فرض قيود مايكروسوفت على المستخدم نهائياً .
- تحسين ردود الرسائل في الجدول Tbl_SentLog ، بحيث تكون أوضح للمستخدم عن سبب الخلل عند فشل الإرسال ، كي يتم التعامل مع الخلل بشكل مباشر .
- تحسين وإصلاح بعض النقاط الصغيرة .
-
1
-
إصلاح مشكلة الإرسال على دفعات ، حسب الوقت الذي يقرره المستخدم من خانتي
-
24 دقائق مضت, حافظ التونسي said:
اسال الله ان يجعلكم من العتقاء منالنار في هذا الشهر الكريم
وإياكم أخي الكريم ..
تقبل الله منا ومنكم صالح الأعمال والطاعات ، ومبارك عليكم الشهر الفضيل
-
14 ساعات مضت, mohammed farhat said:
هل من الممكن ان يتم اضافة
اعدادات Outlook.com لهذا المشروعأهلاً بشمهندس محمد ، في حقيقة الأمر هناك مشكلة في الطريقة التي استخدمها حالياً مع Gmail لعدم توافقها مع سيرفر مايكروسوفت لما يفرضه من قيود محكمة وغريبة جداً بهذا الشكل ، لكن من قال أنني لا أسعى بأن تكون الأداة متكاملة 😁 ...
فعلياً في الوقت الحالي ، جاري العمل على حل مشكلة استقبال سيرفر الياهو للرسائل المرسلة باعتبارها Spam ، ولكن هنا الأمر أيضاً مفروض جبرياً من نفس سيرفر الياهو ، ولكن حلها تقريباً شبه مكتمل الأوجه والتنفيذ ، أو للمستخدم المستقبل اعتبار البريد الوارد غير مزعج وبالتالي ستعود الرسائل التالية الواردة منه في صندوق الوارد مباشرة ، وهذا ما أشجعه حقيقة لعدم كسر قيود الحماية أو التجاوز عنها
أما بخصوص البريد المرسل من مايكروسوفت عموماً ، فالفكرة قيد العمل إن شاء الله ، وقد تم إنهاء 70% من مرحلة التجارب ومتابعة الأخطاء . والنتيجة :-
-
3 ساعات مضت, منتصر الانسي said:
عمل رائع أخي @Foksh والحقيقة أنها المرة الأولى التي ينجح مع إرسال الإيميل بهذه السهولة
حياك الله أخي منتصر ..
3 ساعات مضت, منتصر الانسي said:لدي ملاحظتين الأولى غير مهمة وهي أن Yahoo يتعرف على الأيميل الصادر من التطبيق بأنه بريد إحتيالي ولا أدري إذا كان بالإمكان حل المشكلة
في الحقيقة اعتقد أن هذه مشكلة تخص الياهو نفسه . السبب في عدم اهتمامي لموقع الـ Yahoo هو حتى أنه حالياً لا يقوم بفتح حساب جديد 😅😅 .. ولا يقبل تسجيل الدخول الى حسابي رغم انه يقول لي انه مستخدم بالفعل .
3 ساعات مضت, منتصر الانسي said:اما الملاحظة الثانية أنه يجب تعديل السطر التالي
أما ملاحظتك الثانية والمهمة ، وأشكرك على طرحها . فقد تركتها في حقيقة الأمر لغير الإلزام بالجدول حصراً ، وقد نوهت للقارئ أنه يستطيع اختيار أي جدول آخر يريده في مشروعه شريطة أن يقوم بإضافة حقل الإسم أولاً ثم الحقل الإيميل . يعني العمود الأول للإسم والثاني للإيميل ، والكود تلقائياً سيتعامل مع الحقل الثاني كمرسل له .
-
وعليكم السلام ورحمة الله وبركاته ..
بدايةً وللتأكيد مما فهمت ، انت تريد فتح التقرير بناءً على الشرطين ، بحيث يتم فتح التقرير من الزر في النموذج الفرعي 🙄 !!!
هكذا ... ؟؟؟
أم أنا فهمت الفكرة بشكل خاطئ 😅
-
تفضل أخي الكريم .. أولاً وجدت خطأ في اسم النموذج مصدر الشرط وهو رقم الحريف ليصبح في جميع الشروط التي يطلبها :-
[forms]![F_BL]![ref_client]بدلاً من :-
[forms]![BL]![ref_client]قمت بتعديل الاستعلام R_Solde_Finale_par_client ، ليصبح كالتالي :-
SELECT T_Client.Ref_Client, R_Total_vente_client_solde.Total_Vente AS TV, R_Total_Recette_client_solde.Total_Recette AS TRC, R_Total_Retour_client_solde.Total_retour AS TRT, (Nz([TV],0)-Nz([TRC],0)-Nz([TRT],0)) AS Net FROM R_Total_Retour_client_solde RIGHT JOIN ((R_Total_Recette_client_solde RIGHT JOIN T_Client ON R_Total_Recette_client_solde.Ref_client = T_Client.Ref_Client) LEFT JOIN R_Total_vente_client_solde ON T_Client.Ref_Client = R_Total_vente_client_solde.ref_client) ON R_Total_Retour_client_solde.Ref_Client = T_Client.Ref_Client;والسبب هو أنه في الاستعلام النهائي أنت لم تقم بإضافة الحقل Ref_Client إليه
الآن في النموذج في مربع النص Texte45 ، أصبح مصدره :-
=DLookUp("Net","R_Solde_Finale_par_client","Ref_Client = " & [ref_client])وتستطيع أيضاً إضافة الدالة NZ لتلافي القيم الفارغة لتصبح مثلاً :-
=Nz(DLookUp("Net","R_Solde_Finale_par_client","Ref_Client = " & [ref_client]),0)النتيجة :-
ملفك بعد التعديل :-
-
55 دقائق مضت, حافظ التونسي said:
السلام عليكم و رحمة الله و بركاته
وعليكم السلام ورحمة الله وبركاته ..
لمحاولة توصيل الفكرة بشكل أوسع للأخوة الذين سيقرأون موضوعك هذا ، دعني اسألك كم سؤال :-
-
في الاستعلام R_Solde_Finale_par_client سيطلب منك ادخال رقم Ref ن ولنفترض اخترت القيمة 1 . فستكون النتيجة في الاستعلام =
R_Solde_Finale_par_client TV TRC TRT Net 42,812,000.00 31,801,050.00 1,010,950.00 10000000 - الآن انت تريد ان يتم عرض قيم محددة من هذا الاستعلام !! في أي مربعات نص ؟؟
-
في الاستعلام R_Solde_Finale_par_client سيطلب منك ادخال رقم Ref ن ولنفترض اخترت القيمة 1 . فستكون النتيجة في الاستعلام =
-
تم إضافة زرين جديدين لإضافة إيميلات متعددة لـ :-
- النسخة الكربونية Cc - نسخة إلى
- النسخة الكربونية المخفية Bcc - نسخة مخفية
بحيث من خلال نفس النموذج الفرعي تستطيع اختيار أكثر من ايميل لترسل لهم نسخة من البريد الصادر ، كما هو الحال سابقاً من الزر الموجود عند خانة المرسل له .
كيف نحصل على SMTPPassword المقدم من Gmail ؟ إليك الطريقة خطوة بخطوة ببساطة .
- في متصفحك ، ادخل إلى ( إعدادات حساب Google ) .
- تحقق أولاً وقبل كل شيء من تفعيل ميزة ( التحقق بخطوتين ) أو ( 2-Step Verification ) في حسابك .
- ابحث في خانة البحث عن ( كلمة مرور التطبيق ) أو ( كلمات مرور التطبيقات )، او ( App Password ) ، حسب لغة الموقع لديك .
- ادخل كلمة المرور الخاصة بالإيميل الذي تريد استخدامه كإيميل مرسل .
- في خانة ( اسم التطبيق ) أو ( App Name ) ، أدخل اسم للتطبيق ، مثلاً ( SenderMailer ) . ثم انقر زر ( إنشاء أو Creat ) .
- الآن سيزودك الموقع بكلمة من 16 حرف ، انسخها والصقها في الحقل SMTPPassword .
في المشروع ، سيتم انشاء إستعلام بإسم Qur_Foksh تلقائي . كل ما عليك فعله هو إضافة الأسماء والإيميلات الى الجدول Tbl_Emails ، ثم في الاستعلام إضافة حقل الإسم أولاً ثم حقل الايميل ثانياً ، كي يظهر معكم الإيميلات التي تم تسجيلها في النظام للإرسال داخل النموذج أو في نفس الاستعلام اختر الجدول الذي يحتوي الأيميلات ، وقم بإضافة حقلي الإسم والإيميل فقط.
-
مش عارف إن كان قصدك صح ولا لأ كدة ..
بس انا ما واجهتش المشكلة اللي انت بتتكلم عنها . وقد تكون ناتجة عن إعدادات الويندوز في جهازك . بحيث اضبط تنسيق الوقت والتاريخ في الويندوز .
-
1
-
-
في 8/2/2026 at 09:38, mohamedyousef said:
عند فتح الملف لا استطيع ان افتح اي ملف اخر بجانبه
بخصوص هذه النقطة ، راجع هذه المشاركة هنا .
-
1
-
-
في العمليات الحسابية داخل أي معادلة أو مشروع .. من الأفضل أن يكون بدلاً من القيم الفارغة = استخدام الصفر 0 . لأننا عندما نتعامل مع جمع خليتين إحداهما رقم والأخرى فارغة فقد تتضارب العمليات الرياضية وتخطئ ويصبح ناتج الحقل أو الخلية قيمة غير صحيحة كما حصل معك .
فليس من منطق الرياضيات أن تكون قيمة الصفر سالبة إلا أن كانت قيمة A2 كخلية = A1 + "-" حينها سينتج عنها 0- إذا كانت قيمة A1 = 0
هذا من وجهة نظر غير ملزمة ، والحديث يختلف بعد إرسال الملف .
-
8 دقائق مضت, ابوخليل said:
الف مليون شكرا لا تفي بحقك
ابداع وحوكمة وجمال منقطع النظير
نسأل الله الكريم ان يجعل عملك هذا خالصا لوجهه ، وأن يجزاك عنا وعن اخوانك خير الجزاء
العفو ، وجزيل الشكر لكم معلمي الفاضل أبو خليل على دعمكم المتواصل .. ونرجو من الله أن يوفقنا على دربكم وخطاكم
-
1 دقيقه مضت, mohammed farhat said:
جزاكم الله كل خير بشمهندس فادي - دائما سباق بباب الي الخير
ربنا يجازيك عنا كل خير و يزيدك من العلم النافع
العفو بشمهندس محمد ، وجزاكم الله خيراً إلى يوم الدين لكم ولوالديكم ولأمة محمد أجمعين ..

💥 التحدي 1 :- التعامل مع الجداول وخصائصها .
في قسم الأكسيس Access
قام بنشر
⏳ باقي من الوقت : 7 أيام حتى نهاية التحدى الأول
⏳ باقي من الوقت : 7 أيام حتى نهاية التحدى الأول