Amr Ashraf قام بنشر فبراير 22, 2021 قام بنشر فبراير 22, 2021 (معدل) السلام عليكم ورحمة الله وبركاته .. اساتذتى الافاضل فى القاعدة المرفقة عندى حدول ونموذج لتسجيل اعطال الماكينات يوميا بمجموعة محددات (أمر الشغل - رقم الماكينة - الوردية - التاريخ) ومطلوب عمل عدد متسلسل لعدد الاعطال لنفس الماكينة فى نفس الوردية فى نفس امر الشغل فى نفس التاريخ .. مرفق مثال اكسيل لتوضيح الفكرة اكثر ... بالنسبة للأكسيس مطبقها عن طريق الاستعلام الموجود فى القاعدة وتعمل جيدا فى حالة تسجيل كل سجل على حدى بعد تحديث رقم الماكينة ولكن عند لصق عدد كبير من السجلات فى النموذج تبدأ النتائج بالتفاوت والخطأ .. حاولت اطبق طريقة Count(IIF()) ولكن لم استطع لكثرة الشروط .. المطلوب تطبيق طريقة تصلح فى حالة لصق عدد كبير من السجلات سواء عن طريق النموذج او الاستعلام .. مرفق قاعدة البيانات ومثال اكسيل بالنتيجة المطلوبة Count if.accdb count if.xls تم تعديل فبراير 22, 2021 بواسطه Amr Ashraf
ابوخليل قام بنشر فبراير 23, 2021 قام بنشر فبراير 23, 2021 وعليكم السلام ايسر طريقة لتحقيق مطلوبك هو من خلال التقرير باستخدام التجميع والفرز 2
Amr Ashraf قام بنشر فبراير 23, 2021 الكاتب قام بنشر فبراير 23, 2021 31 دقائق مضت, ابوخليل said: وعليكم السلام ايسر طريقة لتحقيق مطلوبك هو من خلال التقرير باستخدام التجميع والفرز جزاك الله خيرا استاذى.. اعرف هذه الطريقة ولكن المطلوب تسجيل هذا التسلسل فى الجدول حتى استفيد بها فى مجموعة من الاستعلامات الاخرى.. واعرف انه من الممكن تطبيقها عن طريق function .. بارك الله فيك
ابوخليل قام بنشر فبراير 23, 2021 قام بنشر فبراير 23, 2021 اذا تعرف تحقق هذا عن طريق الفنكشن تمام .. استخدمه في الاستعلام ، فلاستعلام والجدول صنوان 1
Amr Ashraf قام بنشر فبراير 23, 2021 الكاتب قام بنشر فبراير 23, 2021 منذ ساعه, ابوخليل said: اذا تعرف تحقق هذا عن طريق الفنكشن تمام .. استخدمه في الاستعلام ، فلاستعلام والجدول صنوان للاسف استاذى حاولت ولم افلح فى انتظار احد الاساتذة.. جزاكم الله خير
ابو محمد 316 قام بنشر فبراير 24, 2021 قام بنشر فبراير 24, 2021 السلام عليكم ورحمة الله ربما ان افضل طريقة هي انشاء جدولين الجدول الأول يحتوي على الحقول (أمر الشغل - رقم الماكينة - الوردية - التاريخ) والجدول الثاني يحتوي على حقول "أمر التشغيل او رقم الماكينة او التاريخ " من حقول الجدول السابق لغرض الربط بين الجدولين ويضاف اليه الحقول التاليه ( عدد الأعطال - وقت الأعطال - ملاحظات ) ربما هذى الطريقة تفيدك مستقبلاً في تتبع اعطال الماكينة....... والله اعلم بالتوفيق إن شاء الله
Amr Ashraf قام بنشر فبراير 24, 2021 الكاتب قام بنشر فبراير 24, 2021 9 ساعات مضت, ابو محمد 316 said: السلام عليكم ورحمة الله ربما ان افضل طريقة هي انشاء جدولين الجدول الأول يحتوي على الحقول (أمر الشغل - رقم الماكينة - الوردية - التاريخ) والجدول الثاني يحتوي على حقول "أمر التشغيل او رقم الماكينة او التاريخ " من حقول الجدول السابق لغرض الربط بين الجدولين ويضاف اليه الحقول التاليه ( عدد الأعطال - وقت الأعطال - ملاحظات ) ربما هذى الطريقة تفيدك مستقبلاً في تتبع اعطال الماكينة....... والله اعلم بالتوفيق إن شاء الله وعليكم السلام .. بالنسبة للقاعدة الاساسية فالفكرة شبيهة بما قلت اخى الكريم .. ولكن المرفق مجرد مثال على الفكرة .. شكرا على مرورك
أفضل إجابة Amr Ashraf قام بنشر فبراير 24, 2021 الكاتب أفضل إجابة قام بنشر فبراير 24, 2021 واضح ان الاساتذة مشغولين أعانهم الله .. جزاكم الله خير جميعا على مروركم الكريم
ابو محمد 316 قام بنشر فبراير 24, 2021 قام بنشر فبراير 24, 2021 السلام عليكم ورحمة الله ربما هذى الملف قريب جداً من المطلوب بالتوفيق إن شاء الله Count if (1).accdb
Amr Ashraf قام بنشر فبراير 24, 2021 الكاتب قام بنشر فبراير 24, 2021 44 دقائق مضت, ابو محمد 316 said: السلام عليكم ورحمة الله ربما هذى الملف قريب جداً من المطلوب بالتوفيق إن شاء الله Count if (1).accdb 568 kB · 1 download غير قريب بالمرة ولكن شكرا على مجهودك
jjafferr قام بنشر فبراير 24, 2021 قام بنشر فبراير 24, 2021 سيدي الفاضل 🙂 هذا تسلسل بالصباحي والمسائي ، والتسلسل لجميع الايام : استعملنا هذا الحقل لنحصل على التسلسل على اساسه : . . وهذا تسلسل للصباحي والمسائي مع اليوم ، كل يوم بتسلسل مستقل : وهنا ضيقنا الخناق ، فاستعملنا هذين الحقلين (واذا تريد ، فممكن تضيف حقول اخرى مع هذين الحقلين) لنحصل على التسلسل اليومي : . . ومثل ما قال اخوي ابوخليل ، مافي داعي تحفظ هذه الارقام في جدول ، فيمكنك استعمال هذه الدالة في جميع استعلاماتك 🙂 جعفر 1342.Count if.accdb.zip 1
Amr Ashraf قام بنشر فبراير 24, 2021 الكاتب قام بنشر فبراير 24, 2021 (معدل) استاذى الفاضل جعفر زادك الله من علمه وبالفعل فى الطريقة الثانية قريبة جدا مما اطلبه وسنزيد حقلين فقط بالاضافة للتاريخ والوردية سنزيد رقم الماكينة ورقم امر الشغل ليصبح التسلسل طبقا لل4 شروط ,, أما بخصوص السبب فى انى احفظ الرقم فى الجدول لأنى استعمله فى استعلامات اخرى مثل التالى SELECT TblDownTime.PONumber, TblDownTime.Zdate, TblDownTime.Shift, TblDownTime.MachineNumber, IIf([SerialFormat]="Num1" And [MachineNumber]=[MachineNumber],[ReasonCode],"") AS Code1, IIf([SerialFormat]="Num1" And [MachineNumber]=[MachineNumber],[Reason],"") AS Reason1, IIf([SerialFormat]="Num1" And [MachineNumber]=[MachineNumber],[DepartmentResponsible],"") AS Dept1, IIf([SerialFormat]="Num1" And [MachineNumber]=[MachineNumber],[StoppedFrom],"") AS From1, IIf([SerialFormat]="Num1" And [MachineNumber]=[MachineNumber],[StoppedTo],"") AS To1, IIf([SerialFormat]="Num1" And [MachineNumber]=[MachineNumber],[TotalDownTime/Min],"") AS TotalDownTime1 FROM TblDownTime WHERE (((IIf([SerialFormat]="Num1" And [MachineNumber]=[MachineNumber],[ReasonCode],""))<>"")); ومثل هذا الاستعلام هناك 5 آخرين لاحضار رقم عطل اخر لمجموع 5 اعطال متقيدين بال4 شروط (تاريخ-وردية-امرشغل-رقم ماكينة) وفى النهاية استعلام كبير ييضم ال5 اعطال بتفاصيلهم مثل الاستعلام المذكور فى الكود ليصبح كل اعطال الماكينة فى نفس اليوم فى نفس الوردية على نفس امر الشغل كلهم فى سطر واحد فقط (وذلك طبقا لتفضيل المدير فى قراءة التقرير :) ) .. وأعلم استاذى ان هناك طرق افضل ولكن كل شخص يستعمل الادوات التى يتمكن منها كل على حسب مستواه :) نشعر بقلة المعرفة عند مناقشتك فى مواضيع مثل هذه زادك الله من علمه .. اذا كان لديك رحابة صدر لتكملة الموضوع ممكن افتح موضوع جديد لمناقشة طريقة افضل للحصول على نفس النتيجة وطبعا بشكل اسرع .. آسف جدا على الاطالة و سأتصفح الردود غدا باكرا منذ ساعه, jjafferr said: سيدي الفاضل 🙂 هذا تسلسل بالصباحي والمسائي ، والتسلسل لجميع الايام : وهذا تسلسل للصباحي والمسائي مع اليوم ، كل يوم بتسلسل مستقل : وهنا ضيقنا الخناق ، فاستعملنا هذين الحقلين (واذا تريد ، فممكن تضيف حقول اخرى مع هذين الحقلين) لنحصل على التسلسل اليومي : . تم تعديل فبراير 24, 2021 بواسطه Amr Ashraf
Amr Ashraf قام بنشر فبراير 25, 2021 الكاتب قام بنشر فبراير 25, 2021 السلام عليكم .. بجانب حل استاذنا الفاضل جعفر كنت قد طرحت المشكلة فى منتدى اجنبى وبعد مناقشات عديدة تم التوصل لهذا الحل سأقوم بمشاركته حتى تعم الفائدة Sub MakeNum() Dim rs As DAO.Recordset, intS As Integer, strG As String Set rs = CurrentDb.OpenRecordset("SELECT PONumber & MachineNumber & ZDate & Shift AS Grp, ReasonSerial " & _ "FROM tblDowntime WHERE ReasonSerial Is Null ORDER BY PONumber, MachineNumber, ZDate, Shift, ID") strG = rs!grp While Not rs.EOF If strG = rs!grp Then intS = intS + 1 rs.Edit rs!ReasonSerial = intS rs.Update rs.MoveNext Else intS = 0 strG = rs!grp End If Wend End Sub جزاكم الله خير
jjafferr قام بنشر فبراير 25, 2021 قام بنشر فبراير 25, 2021 9 ساعات مضت, Amr Ashraf said: لمناقشة طريقة افضل للحصول على نفس النتيجة وطبعا بشكل اسرع تفضل ، وان شاء الله نستطيع ان نمد يد المساعدة 🙂 ولكن ، بالنظر الى استعلامك الذي وضعته : . يمكننا استبداله بالاستعلامين التاليين فتحصل على النتيجة اسرع ، وذلك ان الامر iif بطيء بعض الشيء لأنه يفحص جميع الاحتمالات (طبعا هذا ليس معناه ان استعلامك غلط !! ) : الاستعلام الاول نضع فيه شروطك : . والاستعلام الثاني تكون النتائج جاهزة . جعفر
Amr Ashraf قام بنشر فبراير 25, 2021 الكاتب قام بنشر فبراير 25, 2021 1 ساعه مضت, jjafferr said: تفضل ، وان شاء الله نستطيع ان نمد يد المساعدة 🙂 ولكن ، بالنظر الى استعلامك الذي وضعته : يمكننا استبداله بالاستعلامين التاليين فتحصل على النتيجة اسرع ، وذلك ان الامر iif بطيء بعض الشيء لأنه يفحص جميع الاحتمالات (طبعا هذا ليس معناه ان استعلامك غلط !! ) : الاستعلام الاول نضع فيه شروطك : . جزاك الله استاذى الفاضل , سأقوم ان شاء الله بفتح موضوع جديد لمناقشة الطرق لجعل الاستعلامات اسرع وابسط .. بالاشارة الى الفكرة الجديدة فى التقسيم الى استعلامين سأقوم بتطبيقها باذن الله عند تيسر الوقت جزاك الله خير
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.