esam munir قام بنشر أكتوبر 30, 2023 قام بنشر أكتوبر 30, 2023 السلام عليكم ورحمة الله وبركاتة عندى مشكلة مش عارف احلها ازاى وأحتاج مساعدة حضراتكم لو تكرمت لدى قاعدة بيانات كبيرة وإجتزئت منها جدول واحدة للرفع ولإيضاح المشكلة هذا الجدول به عدد من السجلات وكل سجل بة اخر 4 حقول وهما split1-split2-split3-split4 علما بأن الحقل الرئيسى فى هذا الجدول هو M ما أحتاجة هو تجميع كل سجل على حدة مع باقى السجلات كلا على حدة وإظهار السجلات الناتجة فى إستعلام ويكون التجميع كالمثالى التالى :- سجل رقم 6001 يتم تجميع حقل split1 مع حقل split1 فى سجل 6199 وذلك سجل ناتج سجل رقم 6001 يتم تجميع حقل split1 مع حقل split2 فى سجل 6199 وذلك سجل ناتج سجل رقم 6001 يتم تجميع حقل split1 مع حقلsplit3 فى سجل 6199 وذلك سجل ناتج سجل رقم 6001 يتم تجميع حقل split1 مع حقل split4 فى سجل 6199 وذلك سجل ناتج ثم يبدأ تجميع سجل رقم 6001 يتم تجميع حقل split2 مع حقل split1 فى سجل 6199 وذلك سجل ناتج سجل رقم 6001 يتم تجميع حقل split2 مع حقل split2 فى سجل 6199 وذلك سجل ناتج سجل رقم 6001 يتم تجميع حقل split2 مع حقل split3 فى سجل 6199 وذلك سجل ناتج سجل رقم 6001 يتم تجميع حقل split2 مع حقل split4 فى سجل 6199 وذلك سجل ناتج وهكذا حتى ينتهى من التجميع مع سجل رقم 6199 على مستوى كل حقل مع الاربعة حقول فى باقى السجلات ثم يبدأ التجميع من السجل الجديد بنفس الطريقة حتى ينتهى من كل السجلات بالجدول وحسابيا على هذا المرفق من المفترض ان تكون نتيجة السجلات 320 سجل ناتج فقط عن حاصل تجميع السجل الاول رقم 6001 مع باقى السجلات وبالتالى تكون النتيجة النهائية المفترض 320 سجل * 20 سجل عدد سجلات الجدول اى 6400 سجل جديد هل هذا ممكن او متاح لأننى بالفعل احتاج إلية جداااااااا وشاكر جدا لحضراتكم test.rar
kkhalifa1960 قام بنشر أكتوبر 30, 2023 قام بنشر أكتوبر 30, 2023 (معدل) 8 ساعات مضت, esam munir said: هذا الجدول به عدد من السجلات وكل سجل بة اخر 4 حقول وهما split1-split2-split3-split4 علما بأن الحقل الرئيسى فى هذا الجدول هو M ما أحتاجة هو تجميع كل سجل على حدة مع باقى السجلات كلا على حدة وإظهار السجلات الناتجة فى إستعلام ويكون التجميع كالمثالى التالى :- سجل رقم 6001 يتم تجميع حقل split1 مع حقل split1 فى سجل 6199 وذلك سجل ناتج سجل رقم 6001 يتم تجميع حقل split1 مع حقل split2 فى سجل 6199 وذلك سجل ناتج سجل رقم 6001 يتم تجميع حقل split1 مع حقلsplit3 فى سجل 6199 وذلك سجل ناتج سجل رقم 6001 يتم تجميع حقل split1 مع حقل split4 فى سجل 6199 وذلك سجل ناتج عملت لك هذه الحالة في فورم وأنت كمل الباقي . testAdd (1).rar تم تعديل أكتوبر 30, 2023 بواسطه kkhalifa1960
Eng.Qassim قام بنشر أكتوبر 30, 2023 قام بنشر أكتوبر 30, 2023 (معدل) سؤالك جميل للغاية ..سيجعلني اعيد دراسة المصفوفات (Matrix) من جديد ..بعد انقطاع 36 سنة لكن احب ان اعرف ..لماذا تحتاج لهذا ؟ هل يمكنك ان تعطينا مثالا عمليا للحاجة لمثل تلك العملية الحسابية انا شغوف لمعرفة ذلك .. تم تعديل أكتوبر 30, 2023 بواسطه Eng.Qassim 2
esam munir قام بنشر أكتوبر 31, 2023 الكاتب قام بنشر أكتوبر 31, 2023 استاذى kkhalifa1960 اشكرك كل الشكر على المجهود المبذول ولكن اعذرنى انا لا احتاج جمع بهذة الطريقة بل احتاج نتائج على هيئة سجلات فى استعلام منفصل حيث ان عدد السجلات حاليا 20 لكنة ممكن ان يزيد وممكن ان يقل وايضا لاننى سأعيد عمل عمليات حسابية خرى على هذة السجلات
esam munir قام بنشر أكتوبر 31, 2023 الكاتب قام بنشر أكتوبر 31, 2023 اشكرك استاذ Eng.Qassim ودعنى اشرح لحضرتك بإختصار الغرض من ذلك هذة قاعدة بيانات لمصنع كرتون ونحتاج اضافة موديول خاص بالتخطيط ويقوم هذا الموديول بعمل عملية تربيط على هذة الاصناف لتشغيلها على خط الانتاج وملخص عملية الربط هو اننا نريد ان يقوم الاكسيس بعمل نتائج لجمع هذة الاصناف مع بعضها كما اوضحت سلفا للوصول الى اقصى استفادة من خط الانتاج وهو 180 سم حيث ان split 1 , 2 ,3 ,4 هى سم ولابد ان يعمل على كل split فى كل سجل مع كل split فى اى سجل اخر وبالطبع فإن عدد هذة السجلات قد يزيد او يقل لذا يجب ان تكون العمليات الحسابية على كامل سجلات الجدول وهى لن تزيد عن 100 سجل على اقصى تقدير للجدول الموضوع صعب ومعقد اعلم ذلك ولكنى رأيت حلول من حضراتكم لما هو أكثر تعقيدا من ذلك ولكم جزيل الشكر
Moosak قام بنشر أكتوبر 31, 2023 قام بنشر أكتوبر 31, 2023 11 ساعات مضت, Eng.Qassim said: لكن احب ان اعرف ..لماذا تحتاج لهذا ؟ هل يمكنك ان تعطينا مثالا عمليا للحاجة لمثل تلك العملية الحسابية كنت سأسأل نفس السؤال 🙂 1 ساعه مضت, esam munir said: دعنى اشرح لحضرتك بإختصار الغرض من ذلك طيب أخي عصام .. الطلب واضح لدي .. وعندي تصور مبدأي للحل .. لكن أريدك أن تعطينا مثال لشكل النتيجة النهائية كيف تريدها أن تكون .. ؟؟ ممكن تصمم جدول بالأكسل عادي وتضع فيه نتيجة السجل الأول كمثال .. لأن تصوري للنتيجة سيكون عن طريق إنشاء جدول آخر ( مؤقت ) تظهر فيه السجلات ( وليس استعلام ) وكذلك سيحصل تداخل في البيانات وستظهر لك السجلات متشابهة .. ولن تعرف كيف تميز بينها !! حيث سيكون هناك 16 سجل ناتج للسجل رقم 6001 وحده .. كيف ستعرف أيها ل split1 أو split2 أو split3 أو split4 ؟
esam munir قام بنشر أكتوبر 31, 2023 الكاتب قام بنشر أكتوبر 31, 2023 اشكرك اخى العزيز Moosak وبالفعل ما احتاجة هو جدول مؤقت لعرض هذة النتائج ومن ثم بعض العمليات الحاسبية عليها وزر لحذف الجدول بعد ذلك على ان ينشىء جدول اخر مرة اخرى على مدخلات اخرى عند الضغط على زر اخر وانا فى شدة الإنتظار لحضرتك وجزاك الله خيرا مقدما test.xlsx
Moosak قام بنشر أكتوبر 31, 2023 قام بنشر أكتوبر 31, 2023 تم بحمد الله 🙂 ما رأيك في هذه النتيجة ؟ ( قمت بتغيير تشكيلة الجدول عن المثال الذي أرفقته لتسهيل قرائة الأرقام 🙂 ) وهذا هو الكود الذي ينفذ الأمر : Option Compare Database Option Explicit Private Sub DoSumBtn_Click() '"planWWB" '"Temp_Sum_T" On Error GoTo HandleError Dim db As DAO.Database Dim Rs1 As DAO.Recordset Dim Rs2 As DAO.Recordset Dim x As Long, i As Integer x = 1 CurrentDb.Execute "DELETE * FROM Temp_Sum_T;" Set db = CurrentDb Set Rs1 = db.OpenRecordset("SELECT * FROM planWWB ORDER BY m;") If Not Rs1.BOF And Not Rs1.EOF Then Rs1.MoveFirst While (Not Rs1.EOF) For i = 3 To 6 CurrentDb.Execute "INSERT INTO Temp_Sum_T (No, m, Operation1, Result1 ) " & _ "VALUES (" & x & "," & Rs1!m & ",'" & Rs1.Fields(i).Name & "'," & Rs1.Fields(i).Value & ");" Set Rs2 = db.OpenRecordset("SELECT * FROM planWWB where m <> " & Rs1!m & " ;") If Not Rs2.BOF And Not Rs2.EOF Then Rs2.MoveFirst While (Not Rs2.EOF) Dim s1 As String, s2 As String, s3 As String, s4 As String s1 = Rs1.Fields(i).Name & " + " & Rs2.Fields(3).Name s2 = Rs1.Fields(i).Name & " + " & Rs2.Fields(4).Name s3 = Rs1.Fields(i).Name & " + " & Rs2.Fields(5).Name s4 = Rs1.Fields(i).Name & " + " & Rs2.Fields(6).Name CurrentDb.Execute "INSERT INTO Temp_Sum_T (No, m, m2, Operation1, Result1, Operation2, Result2, Operation3, Result3, Operation4, Result4 ) " & _ "VALUES (" & x & "," & Rs1!m & "," & Rs2!m & ",'" & _ s1 & "'," & (Rs1.Fields(i).Value + Rs2.Fields(3).Value) & ",'" & _ s2 & "'," & (Rs1.Fields(i).Value + Rs2.Fields(4).Value) & ",'" & _ s3 & "'," & (Rs1.Fields(i).Value + Rs2.Fields(5).Value) & ",'" & _ s4 & "'," & (Rs1.Fields(i).Value + Rs2.Fields(6).Value) & ");" Rs2.MoveNext DoEvents Wend End If Next i x = x + 1 Rs1.MoveNext DoEvents Wend End If Rs1.Close Rs2.Close Set db = Nothing Set Rs1 = Nothing Set Rs2 = Nothing DoCmd.OpenTable "Temp_Sum_T" MsgBox "تم جمع كل السجلات" HandleExit: Exit Sub HandleError: If Err.Number = 0 Then Resume Next Else MsgBox Err.Number & vbNewLine & vbNewLine & Err.Description End If Resume HandleExit End Sub لحذف الحسابات السابقة وإعادة الحساب من جديد تضغط على الزر : الملف : Sum Them All - Moosak.accdb 2
Moosak قام بنشر أكتوبر 31, 2023 قام بنشر أكتوبر 31, 2023 قمت بتعديل الترقيم 🙂 : Sum Them All - Moosak.accdb 2
esam munir قام بنشر نوفمبر 1, 2023 الكاتب قام بنشر نوفمبر 1, 2023 السلام عليكم ورحمة الله وبركاتة اخر Moosak فى الحقيقة النتايج مذهلة ولم اكن اتخيل ان حضرتك تبدع بهذا الشكل ليس تقليلا لاسمح الله ولكن لإحساسى بتعقيد الموضوع فجزاك الله خيرا وان يجعل هذا الجهد فى ميزان حسناتكم لكن كده بقى انت فتحت نفسى اكمل الموضوع حيث ان هذة اول نقطة وليست الاخيرة بعد اذنك طبعا .... اول نقطة ضغطت على الزر الكود لا يعمل يبدو ان بة مشكلة بسيطة او اى شىء لا أعلمة ثانى نقطة لكل سجل من الجدول الاساسى اضافت حقل يسمى GSM احتاج الفرق ما بينهم ( نسبة مئوية )وهو حقل واحد وليس 4 حقول كما السابق بمعنى اذا كان مثلا 6001 ال gsm الخاص بة 414 و 6199 ال gsm الخاص بة 450 فما أحتاجة هو الفرق ما بينهم وهو 36 مقسوم على GSM الاكبر وهو 450 ليكون 8% فى هذة الحالة اسف على الإطالة لكن حضرتك اللى فتحت نفسى ان الموضوع يكمل معايا Sum Them All - Moosak.rar 1
Moosak قام بنشر نوفمبر 1, 2023 قام بنشر نوفمبر 1, 2023 4 ساعات مضت, esam munir said: اول نقطة ضغطت على الزر الكود لا يعمل يبدو ان بة مشكلة بسيطة او اى شىء لا أعلمة هذه والله أعلم بسبب أنك لم تضغط على [تمكين] في الشريط الأصفر الذي يظهر لك في الأعلى أول ما تفتح الملف .. 🙂 4 ساعات مضت, esam munir said: اضافت حقل يسمى GSM وبالنسبة لهذه .. فهاك ما طلبت (فقط تأكد من صحة العملية الحسابية) : 🙂 الملف : Sum Them All 2.1 - Moosak.accdb 1
esam munir قام بنشر نوفمبر 1, 2023 الكاتب قام بنشر نوفمبر 1, 2023 الملف ممكن معى لكن بضغط على الزر فقط وميض الضغطة بدون اى اجراء لا اعلم ان كان هناك مكتبات مستخدمة غير موجودى عندى او ماذا وبخصوص ال GSM ممتاز والله تسلم إيدك
esam munir قام بنشر نوفمبر 1, 2023 الكاتب قام بنشر نوفمبر 1, 2023 استاذى الفاضل العظيم اعتذر منك نقلت النموذج فى قاعدة البيانات الاصلية وبالفعل لم تظهر اى مشكلة اطلب من حضرتك لو تتكرم اراجعة واقول لحضرتك الخطوة الجاية اية لو هيكون فية حاجة لأنك والله العظيم فعلا مبدع جزاك الله كل خير 1
Moosak قام بنشر نوفمبر 1, 2023 قام بنشر نوفمبر 1, 2023 3 ساعات مضت, esam munir said: جزاك الله كل خير العفو أخي العزيز 😊🌼 3 ساعات مضت, esam munir said: واقول لحضرتك الخطوة الجاية اية لو هيكون فية حاجة طبعا هذه الخطوة ستضعها في موضوع جديد إن شاء الله ( حسب القوانين ) 😉👌🏻
esam munir قام بنشر نوفمبر 2, 2023 الكاتب قام بنشر نوفمبر 2, 2023 طيب معلش اخى واستاذى الفاضل Moosak ممكن بس هذة الخطوة هنا لإرتباطها الشديد بذات الموضوع المطلوب هو ان النتائج اللى حضرتك اظهرتها بإستثناء عمود GSM اى اننى اقصد نتائج Result 1 حتى Result 4 هذة النتائج اطلب طرحها من سجلات حقل Psize ولكن بشروط ودعنى اعطى حضرتك بعض الامثلة عل سبيل المثال النتيجة الاولى 110 ارجو طرحها من سجلات جدول Psize ولكن ليست كل سجلات جدول psize وانما سجل واحد متغير وهو السجل الذى قيمتة الاكبر منة مباشرة فقط دون باقى السجلات بمعنى ان نتيجة 110 يجب ان تطرح من سجل 130فى psize وبالتالى تكون النتيجة فى حقل يسمى Trim هى ((130-110)/130) *100 ليصبح شكل الجدول الجديد حقل نسبة ال GSM واربعة حقول نتائج تجميع السجلات وحقل لل Trim حاسس انى مش قادر اوضح المطلوب بالظبط لكن إعتقادى أن حضرتك فاهم المطلوب ان شاء الله وأوعد حضرتك خلاص كده بإنتهاء مشاركتى دى ولو فية اى جديد بعمل مشاركة جديدة وأسف جداااااااا pSize size 104 105 106 115 128 130 135 140 144 145 150 151 155 160 168 170 177 180 182 185 No m m2 GSM Operation1 Result1 Operation2 Result2 Operation3 Result3 Operation4 Result4 307 6341 6200 35.31% split1 + split1 110 split1 + split2 147 split1 + split3 184 split1 + split4 221 test.rar
Moosak قام بنشر نوفمبر 2, 2023 قام بنشر نوفمبر 2, 2023 منذ ساعه, esam munir said: بمعنى ان نتيجة 110 يجب ان تطرح من سجل 130فى psize تمام أخي عصام .. ولكن المرة القادمة ضع كل استفساراتك مرة واحدة في أول المشاركة 😉👌 طبعا هذه الخطوة تعمل في استعلام هذه المرة .. لكن هناك استفسار : ليش ال 110 تطرح من 130 وليس 115 حسب التسلسل في جدول psize ؟ الرقم الذي أكبر من 110 مباشرة هو 115 وليس 130 ؟!
esam munir قام بنشر نوفمبر 2, 2023 الكاتب قام بنشر نوفمبر 2, 2023 حاضر بإذن الله فى المرة القادمة طبعا سأفعل ذلك ولكنى توقعت صعوية فهم الموضوع بهذة المراحل ولكن ان شاء الله فى المرات القادمة سأفعل ذلك بإذن الله بخصوص عرضى الورق 115 و 128 انا حذفتهم من جدول psize لكن واضح اننى لم احفظ الجدول لكنى اعتقد حين احذف او اضيف اى سجلات فى جدول psize ستتحدث كل النتائج مثل النتائج السابقة حسث انة سيضاف علية مقاسات وتحذف مقاسات من جدول psize فلا مانع من ظهور النتايج حاليا فى هذا المثال على 115 ولكن النتائج ارجو ان تتغير مع التغيير فى جدول psize وبعتذر من حضرتك مرة اخرى بخصوص ان هذة الحالة هى استعلام مفيش مشكلة ويفضل اذا كان من الممكن التعديل على استعلام query1 الذى انشاتة حيث انة ملخص النتائج فيفضل اذا تم اضافة حقل التريم فى هذا الاستعلام
Moosak قام بنشر نوفمبر 2, 2023 قام بنشر نوفمبر 2, 2023 أخي عصام أشتغلت حسب الوصف .. ولكن ظهرت إشكاليات تتطلب تدخلك فيها 😅🖐 وهي أنه بعض النتائج لايوجد لها قيمة مقابلة في جدول pSize أعلى منها .. لذلك جعلت مقابلها صفر ( أنظر الأعمدة : size4, size3, size2, size1 ) .. والمعادلة التي وضعتها تقسم ناتج الطرح على قيمة الـ size .. فعندما تكون القيمة تساوي صفر لايمكن القسمة على الصفر .. لذلك استبدلتها بالواحد (1) لكي لا تظهر أخطاء .. لكن النتيجة طبعا ستكون خطأ .. المهم هاك الملف ، وعدل على المعادلات بما تراه مناسبا 🙂 الملف : test.accdb 2
esam munir قام بنشر نوفمبر 2, 2023 الكاتب قام بنشر نوفمبر 2, 2023 والله العظيم لا اجد من كلمات للتعبير عن شكرى لحضرتك وسعادتى من النتائج جزاك الله كل الخير
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.