بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
كل الانشطه
- الساعة الأخيرة
-
بسيطة أخي الكريم .. انا لم أقترب من الدالة التي قمت بإنشائها ، حرصاً على أنه قد يكون مطلبك .. لكن بعد التوضيح ، إليك التعديل الذي تم على الدالتين أولاً :- 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 مباشرة . أما في الاستعلام المعدل ، إذا تساوى طالبان في المعدل ، انظر لرقم الطالب ؛ صاحب الرقم الأصغر يعتبر هو الأسبق . وبالنسبة لي هذا غير منطقي ، فلا بد من شرط ثاني لتحديد المنافس على نفس المركز !!!! وملفك بعد التعديل :- Data_Base.zip
- Today
-
SELECT TOP 10 S.StudentID, S.StudentName, S.ClassName, S.SETNO1, F.SemesterID, F.TotalSum, F.average, F.Grade, /* الترتيب الصحيح بدون قفزات */ (SELECT COUNT(DISTINCT F2.average) 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, /* تحويل الرقم إلى نص */ Switch( (SELECT COUNT(DISTINCT F2.average) 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 = 1, "الأول", (SELECT COUNT(DISTINCT F2.average) 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 = 2, "الثاني", (SELECT COUNT(DISTINCT F2.average) 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 = 3, "الثالث", (SELECT COUNT(DISTINCT F2.average) 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 = 4, "الرابع", (SELECT COUNT(DISTINCT F2.average) 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 = 5, "الخامس", (SELECT COUNT(DISTINCT F2.average) 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 = 6, "السادس", (SELECT COUNT(DISTINCT F2.average) 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 = 7, "السابع", (SELECT COUNT(DISTINCT F2.average) 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 = 8, "الثامن", (SELECT COUNT(DISTINCT F2.average) 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 = 9, "التاسع", (SELECT COUNT(DISTINCT F2.average) 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 = 10, "العاشر" ) AS RankText, /* إضافة كلمة "متكرر" عند وجود أكثر من طالب بنفس المعدل */ Switch( (SELECT COUNT(DISTINCT F2.average) 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 = 1, "الأول", (SELECT COUNT(DISTINCT F2.average) 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 = 2, "الثاني", (SELECT COUNT(DISTINCT F2.average) 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 = 3, "الثالث" ) & IIf( (SELECT COUNT(*) FROM TBL_Final1 AS F3 WHERE F3.SemesterID = F.SemesterID AND F3.average = F.average) > 1, " متكرر", "" ) AS RankFinal 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;
-
تفضل الصفحة كلها مع التعليقات بالانجليزية . Option Compare Database Option Explicit Public Enum NavAction navFirst = 1 navPrevious = 2 navNext = 3 navLast = 4 navNew = 5 End Enum '============================= ' Safe navigation with messages '============================= Public Sub NavigateRecord(frm As Form, action As NavAction) Dim rs As DAO.Recordset Set rs = frm.RecordsetClone If rs.RecordCount = 0 Then Exit Sub rs.MoveLast Select Case action Case navFirst If frm.CurrentRecord = 1 Then MsgBox "This is the first record", vbInformation Else DoCmd.GoToRecord , , acFirst End If Case navPrevious If frm.CurrentRecord = 1 Then MsgBox "This is the first record", vbInformation Else DoCmd.GoToRecord , , acPrevious End If Case navNext If frm.CurrentRecord >= rs.RecordCount Then MsgBox "This is the last record", vbInformation Else DoCmd.GoToRecord , , acNext End If Case navLast If frm.CurrentRecord >= rs.RecordCount Then MsgBox "This is the last record", vbInformation Else DoCmd.GoToRecord , , acLast End If Case navNew DoCmd.GoToRecord , , acNewRec End Select rs.Close Set rs = Nothing UpdateNavUI frm End Sub '============================= ' Update counter + buttons '============================= Public Sub UpdateNavUI(frm As Form) Dim rs As DAO.Recordset Set rs = frm.RecordsetClone If rs.RecordCount = 0 Then frm!TxtCount = "No records found" Exit Sub End If rs.MoveLast '===== Record counter ===== If frm.NewRecord Then frm!TxtCount = "New record" Else frm!TxtCount = "Record " & frm.CurrentRecord & " of " & rs.RecordCount End If '===== Disable / Enable buttons ===== frm!CmdFirst.Enabled = (frm.CurrentRecord > 1) frm!CmdPrevius.Enabled = (frm.CurrentRecord > 1) frm!CmdNext.Enabled = (frm.CurrentRecord < rs.RecordCount) frm!CmdLast.Enabled = (frm.CurrentRecord < rs.RecordCount) rs.Close Set rs = Nothing End Sub تفضل الصفحة كلها مع التعليقات بالفرنسية . Option Compare Database Option Explicit Public Enum NavAction navFirst = 1 navPrevious = 2 navNext = 3 navLast = 4 navNew = 5 End Enum '============================= ' Navigation sécurisée avec messages '============================= Public Sub NavigateRecord(frm As Form, action As NavAction) Dim rs As DAO.Recordset Set rs = frm.RecordsetClone If rs.RecordCount = 0 Then Exit Sub rs.MoveLast Select Case action Case navFirst If frm.CurrentRecord = 1 Then MsgBox "C'est le premier enregistrement", vbInformation Else DoCmd.GoToRecord , , acFirst End If Case navPrevious If frm.CurrentRecord = 1 Then MsgBox "C'est le premier enregistrement", vbInformation Else DoCmd.GoToRecord , , acPrevious End If Case navNext If frm.CurrentRecord >= rs.RecordCount Then MsgBox "C'est le dernier enregistrement", vbInformation Else DoCmd.GoToRecord , , acNext End If Case navLast If frm.CurrentRecord >= rs.RecordCount Then MsgBox "C'est le dernier enregistrement", vbInformation Else DoCmd.GoToRecord , , acLast End If Case navNew DoCmd.GoToRecord , , acNewRec End Select rs.Close Set rs = Nothing UpdateNavUI frm End Sub '============================= ' Mise à jour du compteur + boutons '============================= Public Sub UpdateNavUI(frm As Form) Dim rs As DAO.Recordset Set rs = frm.RecordsetClone If rs.RecordCount = 0 Then frm!TxtCount = "Aucun enregistrement" Exit Sub End If rs.MoveLast '===== Compteur d'enregistrements ===== If frm.NewRecord Then frm!TxtCount = "Nouvel enregistrement" Else frm!TxtCount = "Enregistrement " & frm.CurrentRecord & " sur " & rs.RecordCount End If '===== Désactiver / Activer les boutons ===== frm!CmdFirst.Enabled = (frm.CurrentRecord > 1) frm!CmdPrevius.Enabled = (frm.CurrentRecord > 1) frm!CmdNext.Enabled = (frm.CurrentRecord < rs.RecordCount) frm!CmdLast.Enabled = (frm.CurrentRecord < rs.RecordCount) rs.Close Set rs = Nothing End Sub
-
omran2015 started following استخراج الطلبة العشرة الأوائل
-
بارك الله فيك وجزاك الله خيرا على حسن اهتمامك بالموضوع وردك الطيب الجميل ويجعلك من عتقائه من النار في هذا الشهر المبارك ولدي عدة ملحوظات وهى: 1/ مشكلة القفز في الترتيب ولو تلاحظ أن الترتيب يظهر هكذا 1 2 3 4 4 6 والمفروض يظهر 4 4 متكرر 5 6 وهكذا 2/ أتمنى تغيير المسميات إلى نص أقصد بدلا من 1.2.3 وهكذا أريده أن يكون: الأول الثاني الثالث إلى الترتيب العاشر 3/ ملاحظة تكرار الترتيب بحيث يكون مثلا: الأول الأول متكرر وهكذا
-
اهاااا ، بعد متابعة النتيجة ، وجدت أنه يأتيك بجميع الطلاب للفصل الأول والصف الثامن وعددهم 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;
-
Foksh started following استخراج الطلبة العشرة الأوائل و تعديل كود ازرار
-
وعليكم السلام ورحمة الله وبركاته .. جرب هذا المرفق بعد تثبيت التطبيقين المرفقين معه لدعم السحب من السكانر أو الفيدر Scanner 2 PDF.zip
-
بدايةً ، وعليكم السلام ورحمة الله وبركاته .. لديك نقطة واحد فقط كان عليك إدراكها . وهي إضافة الحقل ClassID من الجدول F ، وجعل الشرط [أدخل اسم الصف] له وليس للحقل ClassName من الجدول S . قبل تجربة المرفق ، جرب دون النظر للمرفق حتى تفهم المقصود من كلامي .. مع العلم أن ملفك يعمل معي بشكل سليم باستخراج الأوائل . إلا إن كان هناك نقطة لم تتوضح في شرحك 😀 Data_Base.zip
-
السلام عليكم اساتذتي في القاعدة المرفقة نموذج لللارشفة الالكترونية اتمنى وضع الكود المناسب على الازرار الخاصة بجلب الكتب من الماسح الضوئي والحاسبه وطباعتها مع زر معاينة المرفق بخانه مستقله على ان تكون الكتب المرفوعة بصيفة صوره او ملف Pdf مع التقدير الصادر والوارد.rar
-
ارسال ايميل جيميل ⭐ هدية ~ إرسال بريد إلكتروني من Gmail الى أي إيميل ⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
أين المشكلة لم أفهم بعد 😅 في البوست الأخير لي لم أر مشكلة في موضع الكلمات ، ولا حتى في الصورة التي ارفقتها .. لإذا كان اتجاه النص ومحاذاته من اليمين لليسار وكان يتخلله كلمات أنجليزية فستظهر بمكانها الصحيح 100% . ولكن وللتجربة اجعل النص عربي ولكن محاذاته واتجاهه من اليسار لليمين فستجد أن الكلمة الأنجليزية قد انتقلت لنهاية السطر بدلاً من بدايته مثلاً .. انظر الصورة للتوضيح أكثر -
جزاكم الله كل خير هل هناك حل لمشكلة ظهور الكلمات باللغة الانجليزية عند استخدمها داخل الجملة باللغة العربية لان عند استخدام اي كلمة انجليزية في وسط الجملة تظهر في المنتدي بشكل مختلف عما كتبه الكاتب و مثال على ذلك الصورة الاخيرة التي رفعتها و البوست السابق للمهندس فادي
-
السلام عليكم من جديد شكرا اخي ابو خليفة على مرورك و اجتهادك فتحت صفحة module و لكن للاسف وجدت ما كتب بالعربية يظهر كما في الصورة فهل من الممكن ان تكتبها لي بالفرنسية او الانجليزية حتى استطيع ان افهم اكثر و لكم جزيل الشكر
-
أريد استخراج الطلبــة العشرة الأوائل في استعلام Q_Top10_ByClass مع ملاحظة تكرار الترتيب علماً بأنه ثم إنشاء مديول لاحتساب الأوائل؛ ولكن لم أعرف كيف استدعيها في الاستعلام Data_Base.rar
- Yesterday
-
almarwny started following سليم حاصبيا
-
للشكل الجمالي وبدون التدخل بأي شئ تفضل المرفق .ووافني بالرد. E G P_test-1.rar
-
برنامج مكتبي لتنظيم الملفات التي علي جهازك و إدارة اعمالك وتذكريرك بوقت العمل وهو مقتبس من عدة افكار واريد ان اساهم في هذا الموقع الذي له فضل عليه بعد الله في تعليمي وإتقاني لقواعد البيانات وايضا استعنت بالله ثم بالذكاء الصناعي لعمل هذا المشروع وهذا كنوع من رد الجميل لهذا الموقع الذي له فضل عليه بعد الله واملي ان يعجبكم مشروع تنظيم الاعمال والملفات.accdb
- 1 reply
-
- 2
-
-
ليس مهما ان يكون مطابقا و لكن هناك سببين اولهما ان اعلم ان العامل قد اخطء او ان هناك شي ما و السبب الثاني جمالي لا اكثر لانني عندما اريد ان اطبع فسادخل رقن الصفحة و ليس الرقم الذي في اسفل الصفحة و بالنسبة لحساب الحريف فساحاول اعادة ما قمت به حتى اتمكن من التعلم و ان لم استطع فساطلب منكم ان تفسري لي خطوة بخطوة او فيديو توضيحي كل المراحل و هذا حتى اتعلم منكم و لكم جزيل الشكر
-
ارسال ايميل جيميل ⭐ هدية ~ إرسال بريد إلكتروني من Gmail الى أي إيميل ⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
باختصار شديد :- ضرورة فتح برنامج Outlook في الكمبيوتر الذي تريد استعمال الأداة فيها . وتقوم بتسجيل بريدك الذي ستستعمله في الإرسال من Outlook فقط . السبب هنا أننا سنستعمل السيرفر أو الخدمة المدمجة في مايكروسوفت نفسها والمنفذ نفسه الذي يستعمله برنامج Outlook بشكل خفي خلف الكواليس .. فقط لا غير . -
اخي جعفر انظر الى هذه الشجره الاحترافيهالتي اخرجها mcp ثم احكم . طبعا الاخطاء اللي setfocus حلها سهل جدا بالنسبه للتيكس بوك الفارغ هو للبحث والبوتون هو لاعاده ضم الشجره لكن هذه مسوده غدا ان شاء الله ساعمل فيديو مع ارفاق نموذج خالي من الاخطاء تماما وكيفيه استخدام الام سي بي لانشاء تقرير طبعا ستكون بالفيديو كيف اطلب من الام سي بي انشاء تقرير للشجره وغيره من الخصائص في الشجر treeview.accdb
-
سؤالي الذي أريد منك إجابة مقنعة له حتى نصل إلى جوهر المشكلة لنجد لها حلاً .. لماذا تشترط أن يكون الترقيم مرهوناً ومقروناً ومساوياً بعدد السجلات التي لديك .. يعني لو حذفت السجل رقم 4 من أصل السجلات 1500 والتي هي فعلاً تطابق الترقيم ، فهل تريد أن يكون الترقيم للسجل الجديد = 1500 أما لاستخدام الدالة DMAX مثلاً ، فعليك أولاً تغيير نوع الحقل من ترقيم تلقائي الى حقل رقمي ، ثم في مربع النص داخل النموذج تستعمل الجملة = Nz(DMax("[BL n°]", "BL"), 0) + 1 في القيمة الإفتراضية لمربع النص داخل النموذج .
-
شكرا على تفسيرك المشكلة الاولى سحبتها لاني اصلا لم ادخل في سجل الحرفاء رقم جديد مثلا رقم 6 لذا طبيعي لماادخل رقم 6 سوف لن يجده اما DMAX هل من الممكن ان تشرح لي كيف و اين اضعها حتى يبقى الرقم مطابقا و لكم جزيل الشكر
-
وعليكم السلام ورحمة الله وبركاته .. نوع الحقل BL n° في جدول BL هو AutoNumber . أي ترقيم تلقائي . وهذا من الطبيعي يا صديقي لأنه عندما تدخل أي قيمة في أي حقل داخل الجدول ، فإن آكسيس يعتبره سجل جديد ويقوم بحجزه حتى عند حذفه أو إلغاء الإدخال والتراجع . يعني انت لو حذفت السجل رقم 2 من أصل السجلات الـ 6 التي لديك لتصبح 5 ، فإن السجل الجديد لن يكون رقمه 6 بل سيصبح 7 وهذا كله شأن الترقيم التلقائي . لذا استخدم للترقيم حقل رقمي باستعمال DMAX مثلاً . أما المشكلة الأولى التي ذكرتها لم تظهر عندي للأسف بعد فتح سجلات جديدة كثيرة
-
حافظ التونسي started following جلب حقل
-
السلام عليكم و رحمة الله و بركاته تقبل الله صيامكم و جعله الله في ميزان حسناتكم طرحت هذا الموضوع و لقد اجابني السيد فوكش و له جزيل الشكر لما بدات بالاستعمال ظهرت مشكلة وهي كالاتي المشكلة لما افتح صفحة المبيعات و لن اتم العملية و اغلقها و احاول الفتح من جديد الاحظ ان العداد يتقدم كما هوفي الصورة رقم 2 ارجوا من حضراتكم ان تجدوا لي حلا لجعل العداد يبقى مطابقا للعداد الذي في الاسفل و شكرا على تعاونكم E G P_test.zip
-
تعديل مشروع ميزانية 2025 منA4الى A3
زاكي بوشلاغم replied to زاكي بوشلاغم's topic in منتدى الاكسيل Excel
لم يتم التعديل