اذهب الي المحتوي
أوفيسنا

Amr Ashraf

الخبراء
  • Posts

    946
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    10

كل منشورات العضو Amr Ashraf

  1. غير قريب بالمرة ولكن شكرا على مجهودك
  2. واضح ان الاساتذة مشغولين أعانهم الله .. جزاكم الله خير جميعا على مروركم الكريم
  3. المشكلة فى طريقة استخدامها وليس فى الدالة نفسها .. مثال اذا استخدمتها فى استعلام Query قد تسبب بطء شديد فيه على حسب عدد السجلات .. مثال اخر اذا استخدمتها فى نموذج Datasheet نفس المشكلة .. طيب الحل ايه ؟ فيه حلول كتير الحل الابسط على مثالك السابق تقوم بوضع الدالة فى حدث قبل التحديث Before Update للحقل المراد اختبار تكرار القيمة فيه ووضع رسالة تحدير فى حالة التكرار .. بالطريقة السابقة هتكون الدالة قامت بدورها دون كتابة نتيجتها فى اى مكان غير الذاكرة فقط .. والله اعلم .. بالتوفيق
  4. وعليكم السلام .. بالنسبة للقاعدة الاساسية فالفكرة شبيهة بما قلت اخى الكريم .. ولكن المرفق مجرد مثال على الفكرة .. شكرا على مرورك
  5. بارك الله فيك .. تحت امرك
  6. وعليكم السلام .. فى زر الخروج اضف الكود التالى مثلا If IsNull(Me.txit1) = True then docmd.close else cancel=msgbox("لا يمكن الخروج لوجود قيمة بالحقل") end if end sub
  7. وعليكم السلام .. جرب تعمل قاعدة جديدة واستورد فيها كل الكائنات من القاعدة القديمة .. ولو فيها اكواد VBA اعمل Debug لاكتشاف الاخطاء وبعدها جرب تحولها تانى ... ولو متحلتش ارفق القاعدة نحاول فيها
  8. للاسف استاذى حاولت ولم افلح فى انتظار احد الاساتذة.. جزاكم الله خير
  9. جزاك الله خيرا استاذى.. اعرف هذه الطريقة ولكن المطلوب تسجيل هذا التسلسل فى الجدول حتى استفيد بها فى مجموعة من الاستعلامات الاخرى.. واعرف انه من الممكن تطبيقها عن طريق function .. بارك الله فيك
  10. السلام عليكم ورحمة الله وبركاته .. اساتذتى الافاضل فى القاعدة المرفقة عندى حدول ونموذج لتسجيل اعطال الماكينات يوميا بمجموعة محددات (أمر الشغل - رقم الماكينة - الوردية - التاريخ) ومطلوب عمل عدد متسلسل لعدد الاعطال لنفس الماكينة فى نفس الوردية فى نفس امر الشغل فى نفس التاريخ .. مرفق مثال اكسيل لتوضيح الفكرة اكثر ... بالنسبة للأكسيس مطبقها عن طريق الاستعلام الموجود فى القاعدة وتعمل جيدا فى حالة تسجيل كل سجل على حدى بعد تحديث رقم الماكينة ولكن عند لصق عدد كبير من السجلات فى النموذج تبدأ النتائج بالتفاوت والخطأ .. حاولت اطبق طريقة Count(IIF()) ولكن لم استطع لكثرة الشروط .. المطلوب تطبيق طريقة تصلح فى حالة لصق عدد كبير من السجلات سواء عن طريق النموذج او الاستعلام .. مرفق قاعدة البيانات ومثال اكسيل بالنتيجة المطلوبة Count if.accdb count if.xls
  11. الحمدلله تم التوصل الى حل بسيط بعد التفكير باللوغاريتمات اكتشفت ان الحل ابسط مما توقعت ☺️ .. فى البداية فكرة فى دالة For مزدوجة بالشكل التالى Sub Double_Loop_Test() Dim SalesCount, X1, X2, BOMCount As Integer SalesCount = DCount("*", "TblSalesReq") BOMCount = DCount("*", "TblBom", "[Productcode]=TblSalesReq![Productcode]") For X1 = 1 To SalesCount For X2 = 1 To BOMCount Next X2 Next X1 End Sub End Sub وصلت الى نقطة انى سأحتاج الى استعلام الحاق Append Query وحاولت عمل استعلام الحاق وقمت بربطه بكافة الجداول المتعلقة وكانت النتيجة هكذا INSERT INTO TblTransactions ( Code, item, QtyNeeded, ProductName ) SELECT TblBom.code, TblBom.Item, [QtyUsed]*[TblSalesReq].[Qty] AS TotalQtyNeeded, TblSalesReq.ProductDesc FROM TblBom INNER JOIN TblSalesReq ON TblBom.productcode = TblSalesReq.ProductCode GROUP BY TblBom.code, TblBom.Item, TblSalesReq.ProductDesc, TblBom.QtyUsed, TblSalesReq.Qty; وعند تجربة استعلام الالحاق منفردا بدون اكواد قام بالنتيجة المرجوة وبسرعة جيدة :) :) تم ارفاق الطريقة فى مثال وذلك ليستفيد منها من يريد ذلك .. افتح النموذج واضغط الزر لتشغيل الاستعلام وسيقوم بالمطلوب .. دمتم بود ❤️ 2003(2).mdb
  12. يبقى لزيادة التوضيح انظر للصور هذه هى الطلبيات المطلوبة الكود دخل على جدول المكونات ليبحث عن المكونات الخاصة بكل منتج وكمية كل مكون الكود استخرج المكونات الخاصة بكل منتج وضربها فى كمية المنتج المطلوبة فى الطلبيات وحولها لخامات فى جدول TblTransactions مثل الصورة .. وهذه هى النتيجة المطلوبة من الكود اذا تم تطبيقه على المثال المرفق وبالتالى سنقوم بشراء هذه المكونات بالكميات المطلوبة لتجميع الاجهزة المطلوبة فى الطلبيات .. اتمنى تكون وضحت الفكرة ,, تحياتى
  13. شكرا على مرورك .. فى المثال انا وضعت 3 طلبيات فقط فى جدول TblSalesReq ولكن قد يكون هناك اكثر من ذلك قد يصل الى 300 وبالتالى الكود سيقوم بالبحث فى جدول TblSalesReq لمعرفة الكمية المطلوبة من كل منتج مهما كان عددهم ثم يقوم بتحويلها لمواد خام طبقا للكميات المذكورة فى جدول TblBom ويقوم باضافة الناتج الى جدول TblTransactions كما شرحت فى المثال .
  14. السلام عليكم .. اساتذتى الافاضل فى القاعدة المرفقة ستجد 5 جداول : TblItems وفيه فهرس المواد الخام باكوادها TblProducts وفيه فهرس للمنتجات التامة باكوادها TblBom وفيه قائمة بالمكونات الخاصة بكل منتج تام مذكور فى جدول المنتجات وبجواره عدد القطع المستخدمة من المادة الخام لتكوين هذا المنتج TblSalesReq وفيه يتم تسجيل طلبات البيع من المنتجات التامة بالكميات المطلوبة TblTransactions جدول مطلوب ملئ بياناته بالشكل الذى سيتم شرحه تالياً على سبيل المثال مطلوب فى جدول طلبات البيع 3 أجهزة كمبيوتر Ci7 وبالتالى يجب شراء مكونات (المواد الخام) الخاصة بهذا المنتج لتجميعه وبيعه طبقا للمطلوب .. وبالتالى ستجد فى جدول TblTransactions انه مطلوب عدد 3 بروسيسور و عدد 6 رامة و عدد 3 لوحة أم ومذكور بجوارهم انهم مطلوبين للمنتج Computer Ci7 وذلك طبقا لقائمة المكونات الخاصة بهذا المنتج فى جدول TblBom . المطلوب نموذج به زر أمر Button يقوم بالبحث فى جدول TblSalesReq لمعرفة الكمية المطلوبة من كل منتج ثم يقوم بتحويلها لمواد خام طبقا للكميات المذكورة فى جدول TblBom ويقوم باضافة الناتج الى جدول TblTransactions كما شرحت فى المثال . تنويه : يمكننى عمل المطلوب ولكن لمنتج واحد كل مرة عن طريق نموذج وبه جملة SQL .. ولكن المطلوب فى المبيعات الآن 300 منتج مثلا ستكون عملية مرهقة جدا لعملها 300 مرة . فى حالة عدم وضوح الشرح برجاء عدم التردد فى السؤال .. مرفق قاعدة البيانات بصيغة 2003 وبالصيغة الحديثة 2010 فيما بعد .. جزاكم الله خير وبعتذر عن الاطالة 2003.mdb 2013.accdb
  15. ولك مثله .. بالنسبة للعلاقة هى بسيطة انتا كنت رابط ID فى جدول Company_Name باسم الشركة بجدول Staffs_Table والعلاقة غير مجدية هنا لأن الID اصلا مش هينفع يتم التعديل عليه فى الجدول الاول لأنه ترقيم تلقائى ورابطه باسم الشركة فى الجدول الاخر ومخلي خصائص الحقل رقمى او Number وبالتالى الموضوع مش صح .. اللى انا عملته ببساطة حولت خصائص حقل اسم الشركة فى الجدول الثانى الى حقل نصى وربطته باسم الشركة فى الجدول الاول وبالتالى فى حالة تعديل اسم شركة سيتم تعديلها تلقائيا فى جدول الموظفين .. لذلك يجب الانتباه لنوع الحقل اللى انتا عاوز تربطه بعلاقة مع جدول اخر لازم يكون نفس النوع رقمى نصى الخ .. ولازم تحدد الهدف من العلاقة اللى هتعملها بين الجداول عشان تقدر تحدد خصائصها زى التعديل المتزامن مثلا او حذف السجلات المرتبطة فى حالة الحذف فى الجدول الرئيسى وهكذا .. فى حالة عدم وضوح الفكرة استفسر كما تشاء .. بالتوفيق
  16. اخى الكريم .. لقد عدلت المرفق افتحه ستجد نموذج بداخله 2 زر واحد للاظهار والاخر للاخفاء
  17. وعليكم السلام ورحمة الله وبركاته تفضل Database2.accdb
  18. وعليكم السلام .. جرب كده وقولى .. عملت تعديلات على جداول وعلاقات وطبقتلك الفكرة المطلوبة فى النموذج Database2.accdb
×
×
  • اضف...

Important Information