اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

Foksh

الخبراء
  • Posts

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

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

  • Days Won

    145

كل منشورات العضو Foksh

  1. لا مشكلة ، ولكن في المرفق لا يوجد نماذج !!!
  2. وعليكم السلام ورحمة الله وبركاته ، رغم أنني لا أشجع دائماً على استخدام المسميات العربية للحقول والجداول ، إلا أنه وعلى ما يبدو لا خلاص من النُصح بخصوص هذه النقطة . على العموم .. من خلال جداولك التي ارفقتها ، وبناءً على القيم التي فيها كحركة وارد للصنف ، في جدولك مادتين هما :- اطراف الوارد اسم المادة ومواصفاتها الرقم الرمزي ورق A4 11111 ورق A3 22222 ورق A4 11111 ورق A3 22222 ورق A4 11111 ورق A4 11111 هل هذا صحيح أولاً ؟ أي أن الرقم الرمزي هو معرف المادة ؟؟؟؟ ان كان ما توضح لي صحيحاً ، فإنه كنتيجة الوارد سيكون عندك الناتج كالآتي :- اطراف الوارد اسم المادة ومواصفاتها الرقم الرمزي الكمية الموجودة ورق A4 11111 19 ورق A3 22222 13 هل هذا التصور صحيح ؟؟ أم ان النتيجة المتوقعه = Query1 اسم المادة ومواصفاتها الرقم الرمزي الكمية الموجودة ورق A3 22222 3 ورق A4 11111 1
  3. ما دفعني الى البحث في الانترنت عن بعض المصادر التي تتعلق بهذه النقطة . هذه بعض الصفحات التي تحدثت عن المشكلة التي ذكرتها سابقاً :- توضح مايكروسوفت أن استخدام نفس الاسم لمشروع VBA ( و / أو ) وحدة أو مكتبة مرجعية يمكن أن يؤدي إلى تعارضات ، ويُنصح بتغيير أحد الأسماء لتجنب ذلك . المصدر : Microsoft Learn . تشير مايكروسوفت إلى أن تسمية مشروع VBA بنفس اسم كائن موجود في آكسيس ( مثل "Form" أو "Application" ) يمكن أن يؤدي إلى تعارضات ، وقد يتم تعديل الاسم تلقائياً بإضافة شرطة سفلية لتجنب ذلك . المصدر : Microsoft Learn . في منتديات الدعم الخاصة بمايكروسوفت ، أبلغ مستخدمون عن ظهور أخطاء عند محاولة إضافة مراجع لمكتبات مثل "Microsoft DAO 3.6 Object Library" بسبب تعارض الأسماء مع وحدات موجودة بنفس الاسم . المصدر: Microsoft Community . ⚠️ هل يمكن أن يؤدي ذلك إلى حذف الأكواد ❓ بينما تعارض الأسماء لا يؤدي مباشرة إلى حذف الأكواد ، إلا أنه قد يتسبب في تلف مشروع VBA ، مما يؤدي إلى اختفاء الوحدات النمطية أو عدم القدرة على الوصول إليها . في بعض الحالات ، قد تظهر رسائل خطأ مثل "The database cannot be opened because the VBA project contained in it cannot be read" عند فتح قاعدة البيانات . المصدر : Stackoverflow .
  4. العفو أخي الكريم ، ان كان طلبك قد تحقق ، فيرجى منك فضلاً لا أمراً باغلاق الموضوع باختيار أفضل إجابة للمشاركة التي كانت حلاً يرضيك ,
  5. في إحدى التجارب التي لفتت انتباهي لهذه النقطة كانت عندما قمت بتصميم مشروع قديم ،وكنت تلقائياً بعد فتح قاعدة البيانات وإضافة المكتبات التي اريدها للمشروع ، أقوم بشكل افتراضي بتسمية المشروع في محرر الأكواد إلى اسم المشروع الذي أصممه مطابقاً لاسم قاعدة البيانات التي تم انشاءها . فمثلاً اسم المشروع = "Accounting Software" على سطح المكتب ، واسم المشروع في محرر الأكواد كما أشرت سابقاً = "Accounting Software" أيضاً ، فصادفتني مشكلة عند بدء تشغيل المشروع من نموذج البداية كالمعتاد وهي انه ظهرت رسالة خطأ في أوامر بدء التشغيل للنموذج . ولأنها عادة كانت عندي بالتسمية المتشابهة كما أشرت أعلاه ، قمت بتغيير اسم المشروع في محرر الأوامر . وهنا كانت النقطة الفاصلة التي لفتت انتباهي ان الرسالة لم تظهر أبداً . وهذا ما جعلني أطرح هذه النقطة . لا أعلم السبب الحقيقي !! ولكني في حينها لم أذهب الى البحث عن السبب بشكل جدي .
  6. دي بسيطة جداً .. اليوم ان شاء الله في جهاز البيت لدي نسختين 2010 - 32 / 2026 - 64 ، وفي العمل لدي النسخة 2019 - 64 . خطر ببالي نقطة حصلت معي سابقاً وكانت فعلاً سبب مشكلة في إحدى قواعد البيانات . وهي تغيير اسم المشروع في محرر الأكواد كما في الصورة التالية .. وهذه القاعدة نفسها التي ارفقها أخونا طاهر ولكن بعد تغيير اسم المشروع ، مع عدم تغيير نواة الأكواد من 32 إلى 64 ( حسب النسخة الحالية التي لدي الآن = 2016 - 64 ) ش ع2025.zip
  7. ما دام الأمر مقتصراً على قاعدة بيانات واحد فقط ، فالخلل إذاً بلا شك في نفس القاعدة وبطريقة كتابة الأكواد والسلوك المتبع في التسلسل .... إلخ وجهة نظري أستاذي وصديقي @ابو جودي
  8. العفو أخي الكريم .. اذا كان قد تم حل مشكلتك ، ففضلاً قم بإغلاق الموضوع .
  9. قم بفتح قاعدة بيانات جديدة ، اعمل استيراد لجميع مكونات قاعدة البيانات التي لا تعمل ( جداول واستعلامات ونماذج ... الخ ) . ومن المهم ان تتأكد من المكتبات في محرر أكواد VBA .
  10. وعليكم السلام ورحمة الله وبركاته ، أخي الكريم @2saad ، الأصل هو تتبع الاستعلامات التي بُنيت عليها الإستعلامات الفرعية ، والأستاذ @ابوخليل مشكوراً أسس لك الإستعلامات بشكل سهل تستطيع منه التتبع والتعديل ... إلخ على العموم ، في البداية يجب إضافة الحقل في الاستعلام الأصلي = qry_master . ثانياً ، إضافة الحقل في الاستعلامين (qry_Temp_term1 و qry_Temp_term2 ) . ثالثاً ، بعد إضافة الحقل Stucod في الجدول ، قمت بالتعديل على زري (اعداد نتيجة الفصل الدراسي الأول و اعداد نتيجة الفصل الدراسي الثاني) بحيث يتم اضافة قيمة الحقل الى الجدول ، كالآتي :- Private Sub ProcessTermData(termNum As Integer, ctrl As Control, includeVHodor As Boolean) On Error GoTo ErrorHandler ctrl.Caption = "انتظر ..." DoCmd.SetWarnings False DoCmd.RunSQL "DELETE FROM tbl_Temp WHERE tbl_Temp.term_Num = " & termNum & ";" If includeVHodor Then DoCmd.RunSQL "INSERT INTO tbl_Temp (term_Num, vHodor, alnesbah, tgyeem1, hala, safType, eldina_id, Stucod) " & _ "SELECT qry_term" & termNum & ".*, qry_Temp_term" & termNum & ".term_Num, " & _ "qry_Temp_term" & termNum & ".hodor, qry_Temp_term" & termNum & ".alnesbah1, " & _ "qry_Temp_term" & termNum & ".tgyeem1, qry_Temp_term" & termNum & ".hala1, " & _ "qry_Temp_term" & termNum & ".safType, qry_Temp_term" & termNum & ".eldina_id, " & _ "qry_Temp_term" & termNum & ".Stucod " & _ "FROM qry_Temp_term" & termNum & " INNER JOIN qry_term" & termNum & " " & _ "ON qry_Temp_term" & termNum & ".Stucard = qry_term" & termNum & ".Stucard;" Else DoCmd.RunSQL "INSERT INTO tbl_Temp (term_Num, alnesbah, tgyeem1, hala, safType, eldina_id, Stucod) " & _ "SELECT qry_term" & termNum & ".*, qry_Temp_term" & termNum & ".term_Num, " & _ "qry_Temp_term" & termNum & ".alnesbah1, qry_Temp_term" & termNum & ".tgyeem1, " & _ "qry_Temp_term" & termNum & ".hala1, qry_Temp_term" & termNum & ".safType, " & _ "qry_Temp_term" & termNum & ".eldina_id, qry_Temp_term" & termNum & ".Stucod " & _ "FROM qry_Temp_term" & termNum & " INNER JOIN qry_term" & termNum & " " & _ "ON qry_Temp_term" & termNum & ".Stucard = qry_term" & termNum & ".Stucard;" End If DoCmd.SetWarnings True ctrl.Caption = "تــم" Exit Sub ErrorHandler: DoCmd.SetWarnings True ctrl.Caption = "خطأ" MsgBox "حدث خطأ أثناء معالجة البيانات", vbCritical + vbMsgBoxRight, "" End Sub ثم الإستدعاء في الزرين :- Private Sub StartBtn_Click() ProcessTermData 1, b, False End Sub Private Sub StartBtn2_Click() ProcessTermData 2, bb, True End Sub ملفك بعد التعديل :- Data18.zip أو البقاء على الاستعلامات الاصلية للزرين كما في التالي :- Private Sub StartBtn_Click() b.Caption = "انتظر ..." DoCmd.SetWarnings False DoCmd.RunSQL "DELETE tbl_Temp.*, tbl_Temp.term_Num FROM tbl_Temp WHERE (((tbl_Temp.term_Num)=1));" DoCmd.RunSQL "INSERT INTO tbl_Temp (term_Num, alnesbah, tgyeem1, hala, safType, eldina_id, Stucod) " & vbCrLf & _ "SELECT qry_term1.*, qry_Temp_term1.term_Num, qry_Temp_term1.alnesbah1, qry_Temp_term1.tgyeem1, " & _ "qry_Temp_term1.hala1, qry_Temp_term1.safType, qry_Temp_term1.eldina_id, qry_Temp_term1.Stucod " & vbCrLf & _ "FROM qry_Temp_term1 INNER JOIN qry_term1 ON qry_Temp_term1.Stucard = qry_term1.Stucard;" DoCmd.SetWarnings True b.Caption = "تــم" End Sub Private Sub StartBtn2_Click() bb.Caption = "انتظر ..." DoCmd.SetWarnings False DoCmd.RunSQL "DELETE tbl_Temp.*, tbl_Temp.term_Num FROM tbl_Temp WHERE (((tbl_Temp.term_Num)=2));" DoCmd.RunSQL "INSERT INTO tbl_Temp (term_Num, vHodor, alnesbah, tgyeem1, hala, safType, eldina_id, Stucod) " & vbCrLf & _ "SELECT qry_term2.*, qry_Temp_term2.term_Num, qry_Temp_term2.hodor, qry_Temp_term2.alnesbah1, " & _ "qry_Temp_term2.tgyeem1, qry_Temp_term2.hala1, qry_Temp_term2.safType, qry_Temp_term2.eldina_id, qry_Temp_term2.Stucod " & vbCrLf & _ "FROM qry_Temp_term2 INNER JOIN qry_term2 ON qry_Temp_term2.Stucard = qry_term2.Stucard;" DoCmd.SetWarnings True bb.Caption = "تــم" End Sub
  11. هل قمت بتغيير الوسيط الذي تقوم بنقل القاعدة عليه ؟؟؟؟؟؟؟؟؟ قد يكون هذا أحد أسباب تلف قاعدة البيانات وهو الـ USB نفسه الذي تنقل من خلاله
  12. اسمحوا لي بمداخلة صغيرة . أخي الريم عند اضافة أكواد إلى مشاركتك أو أي موضوع لك لاحقاً ، حاول استخدام إشارى <> المخصصة لكتابة أو لصق الأكواد فيه . أما بخصوص هذه المشكلة عند المسميات العربية والتي لا ننصح بها دائماً في برمجة VBA هي :- لاحظ الرموز التي نتجت عند نسخك للكود في الوقت الذي كانت فيه لغة الكيبورد = English في كمبيوترك !! بينما لاحقاً ومستقبلاً عند نسخ أي كود من محرر الأكواد وكان الكود يحتوي مسميات عربية ، حاول تغيير لغة الكتابة الى العربية قبل النسخ واللصق . كل الإحترام والتقدير للأساتذة وخبراء ومعلمي قسم الآكسل . فلا أتعدى ولا أنقص من مجهودكم بقدر ما لفت انتباهي تكرار هذه النقطة عند الكثيرين من الأخوة أصحاب الطلبات بما يخص هذه المشكلة CE??EC??E .
  13. وعليكم السلام ورحمة الله وبركاته .. من خلال المعطيات التي ذكرتها .. الوزن الصافي (طن) : مثلاً 197 طن درجات القمح : درجة 23.5 بسعر 2200 جنيه درجة 23.0 بسعر 2150 جنيه درجة 22.5 بسعر 2100 جنيه الخصومات : دمغة : 1 جنيه النقابة : 0.55 جنيه لكل أردب ستكون المعادلة في اكسل افتراضاً بالشكل التالي :- = (الوزن_الصافي * 1000 / 150) * (IF(الدرجة>=23.5, 2200, IF(الدرجة>=23, 2150, IF(الدرجة>=22.5, 2100, 0))) - (دمغة + (الوزن_الصافي * 1000 / 150 * 0.55))) وكفكرة على كيفية تطبيقها : قم بإعداد جدول بهذه الأعمدة ( أسماء الأعمدة في الصف الأول ) :- A : رقم الكرتونة B : الوزن الصافي (طن) C : درجة القمح D : السعر E : الخصومات F : الصافي في الخلية D2 (السعر) = المعادلة التالية :- =IF(C2>=23.5, 2200, IF(C2>=23, 2150, IF(C2>=22.5, 2100, 0))) في الخلية E2 (الخصومات) = المعادلة التالية أيضاً :- =1 + (B2*1000/150*0.55) -في الخلية F2 (الصافي) = المعادلة : =(B2*1000/150*D2)-E2 طبعاً على افتراض أن الأردب = 150 كيلو جرام حسب النظام المصري .
  14. وعليكم السلام ورحمة الله وبركاته .. أقصى سعة تخزين في آكسيس = 2 جيجابايت تقريباً لكل ملف .
  15. وعليكم السلام ورحمة الله وبركاته .. أخي الكريم أمرك بسيط جداً إن شاء الله ، وهو انك حالياً تقارن بين تاريخ الوفاة وقيمة حقل التاريخ "alyom" في جدول "البيانات" . وهذا غير صحيح للأسف . فالأصل ان تتم المقارنة بين تاريخ الوفاة وتاريخ اليوم = Date في الاستعلام "استعلام بالاسم" وهو مصدر سجلات التقرير "مدة الوفاة" الآن لضبط الأمور كما تريد ، فقط عدل في الاستعلام الحقل الأخير AGE الى التالي :- AGE: diff2dates("ddmmyyyy",[n1],Date(),True) طبعاً انا عملت لك الجزء الخاص فقط اللي في الاستعلام . برنامج الوفيات.accdb
  16. اللهم ربّ الناس ، أذهب البأس ، واشفِ أنت الشافي ، لا شفاء إلا شفاؤك ، شفاءً لا يغادر سقمًا . اللهم اشفِ نجل الأخ محمد هشام شفاءً تاماً عاجلاً ، اللهم ألبسه ثوب الصحة والعافية ، وردّه إلى أهله سالماً معافى يا أرحم الراحمين . اللهم اجعل مرضه طهوراً له ، وكفّارةً لذنوبه ، وسبباً لرفع درجته ، وفرّج عن والديه وأهله ، إنك على كل شيء قدير 🤲🏻
  17. يعمل على إصدار أوفيس 2016 64بت ، و ويندوز 10 ( مع إصدار 2010 32بت ) بدون مشاكل
  18. وعليكم السلام ورحمة الله وبركاته.. كان لي تجربة شخصية مع أخي @سلمان الشهراني في أحد المواضيع هنا . حاول التواصل معه عله يفيدك 🤗 .
  19. اختصاراً لوقتك و وقت الاساتذة ، لم لا تقوم بالافاق الملف .
  20. هذا جزء من مشروع سابق ، ويظهر تقريباً الفكرة ذاتها ، ولكن مع تأسيس مضبوط لمتطلبات الفكرة .. طبعاً التنفيذ تم على جميع الأجزاء التي يتم فيها الدفع ( دائن / مدين ) ... للأفراد أو الشركات ..
  21. نعم أخي الكريم ، تستطيع استخلاص اليوم والشهر والسنة بشكل منفصل بأكثر من طريقة ، بالإعتماد على حقل الرقم القومي :- السنة لوحدها = YearPart: IIf(Left([Stucard],1)="3",2000,1900)+Val(Mid([Stucard],2,2)) الشهر لوحده = MonthPart: Val(Mid([Stucard],4,2)) اليوم لوحده = DayPart: Val(Mid([Stucard],6,2))
  22. كما أعتقد وجود خطأ في البيانات التي في المرفق الأخير الذي تم اعتماده للعمل !!! حيث مثلاً الطالب صاحب الرقم القومي = 31705180106695 موجود له سجلات في الجدول "Tbl_degree_Detail" ولكن للأسف ليس له سجل في الجدول الخاص بالطلاب "Tbl_student" واعتقد انه في الصف الثاني وله درجات بمجموع = "368" لتحقيق الشروط للمواد المعتمدة . وعليه فإنه من الطلاب الأوائل الـ 10 ، مع العلم أنه ليس له سجل في الجدزل "tbl_Temp" أيضاً .. فكيف ستكون النتائج صحيحة ما لم تكن البيانات سليمة !!! أعتذر إذا كانت الملاحظات التي أطرحها ليست ذات أهمية .
  23. في محاولتي سابقاً لاستخلاص تاريخ الميلاد من الرقم القومي ، استخدمت هذا السطر في الاستعلام :- BirthDate: DateSerial(IIf(Left([Stucard],1)="3",2000,1900)+Val(Mid([Stucard],2,2)),Val(Mid([Stucard],4,2)),Val(Mid([Stucard],6,2))) إن كانت تحقق غاية بخصوص تاريخ الميلاد
  24. وعليكم السلام ورحمة الله وبركاته ,, الأمر بسيط جداً أخي الكريم ، حدد جميع مربعات النص التي تريد تطبيق الشرطة عليها . من تبويب التنسيق من خصائص المربعات ، اختر تنسيق ، واجعل قيمتها = @;/ وسيكون جميع المربعات النصية الفارغة = / ملفك بعد التعديل send4.accdb
  25. يعني ان حقل النسبة هو المعتمد في ترفيع الطالب الى صف أعلى أو اعتباره غير مكمل لصفه الدراسي ... اذا يتم اعتماده للتمييز بين تقدير ودرجات الطلاب عن بعضهم . طبعاً سيتم استثناء الطلاب الذين لهم "غ" من نتيجة الفلترة !!
×
×
  • اضف...

Important Information