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

Amr Ashraf

الخبراء
  • Posts

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

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

  • Days Won

    10

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

  1. اعمل Backup يومى للجداول ولو حدثت مشكلة اعمل استعادة لليوم السابق مثلا .. وما اكثر المواضيع فى المنتدى تتحدث عن النسخ الاحتياطى للجداول ابحث وستجد الكثير .. بالتوفيق
  2. ولا يهمك استاذنا ... تمت التجربة على Accdb وشغال تمام هقوم بالتجربة مطولا على Accde .. لو فيه مشكلة هضيف مشاركة بيها جزاكم الله خير
  3. جارى الاطلاع يا غالى مشكور على مرورك
  4. حقيقة ومجربة بالفعل بس لم اكن اعرف لها بديل .. جزاك الله خير .. بالنسبة للبرنامج بعد التجربة لأكثر من مرة وجدت ان اول مرة فقط اللى بيعمل الحاق لجدول TblPoMaterials المسئولة عنه جملة الSQL يعنى حضرتك جرب اعمل 5 اوامر شغل ورا بعض بدون غلق النموذج وستجد المشكلة .. فضلاً الق نظرة على المرفق @jjafferr New Code JJ.accdb
  5. وعليكم السلام ورحمة الله وبركاته .. تفضل b.accdb
  6. جزاك الله خير استاذنا ... معلش ضيعت سهرتك ههههههه .. ناقص حاجة مشرحتش المشكلة سببها كان ايه وليه كانت GotoRecord بتسبب مشكلة فى Accde وليس Accdb .. جزاك الله خير .. وهجرب مطولا بعد التعديلات ولو فيه مشكلة لا قدر الله هفتح موضوع جديد .. بارك الله فى صحتك
  7. استاذى الفاضل @jjafferr تفضل القاعدة الاساسية محذوف منها غير الضرورى .. راجع رسائلك الخاصة فضلاً
  8. لا غير مذكور, موجود فقط فى الهيدر لأن النموذج المستمر مصدره مختلف ولا يذكر فيه رقم PoNumber خطأ منى ههههه وعشان مش بيسبب اخطاء مخدتش بالى منها الحقل اعلاه هوا الحقل الاساسى اللى بيتربط عليه كل شئ لن يقبل الجدول اى شئ بدونه ههههه
  9. رجعنا لنفس المشكلة الاولى Private Sub Command204_Click() DoCmd.OpenForm "Robot" DoCmd.GoToRecord , , acNewRec Forms![Robot]![PONumber] = Me.T7 Forms![Robot]![productcode] = Me.t0 Forms![Robot]![OrderQty] = Me.T3 Forms![Robot]![zdate] = Me.T6 Forms![Robot]![Mold] = Me.Mold Forms![Robot]![Machine] = Me.Machine Forms![Robot]![Status] = Me.Status Forms![Robot]![ProductBomNum] = Me.Bom DoCmd.Close Dim sql As DAO.Recordset Dim Lsql As DAO.Recordset Set sql = CurrentDb.OpenRecordset("TblPoMaterials", dbOpenDynaset) Set Lsql = Me.RecordsetClone 'DoCmd.SetWarnings False 'DoCmd.GoToRecord , , acFirst 'EIC?E C??O??E ?? ??C C???? 'For m = 1 To T8 Do Until Lsql.EOF With sql .AddNew !PONumber = Lsql!T7 !MaterialCode = Lsql!code !MaterialName = Lsql!Item !ProductionDate = Lsql!T6 !Shift = "none" !cons = Lsql!cons !AdditionPercent = Lsql!Remarks !MaterialType = Lsql!Type !OrderQty = Lsql!Nz(Nz([T2], 0) * Nz([T3], 0), 0) .Update End With Lsql.MoveNext Loop 'DoCmd.GoToRecord , , acNext sql.Close: Set sql = Nothing Lsql.Close: Set Lsql = Nothing 'Next m MsgBox "Done", vbInformation, "Saved successfully" 'DoCmd.SetWarnings True t0 = "" T6 = "" T7 = "" T3 = "" T10 = "" T10 = "" Status = "" BomCombo = "" Me.ComboMachine = "" Me.ComboMold = "" Mold = "" Machine = "" T216 = "" Me.Requery End Sub
  10. الاسماء سليمة وفى الكود مثلا هوا ده الجزء المستمر اما اللى فوق ده فى الهيدر
  11. الحقول UnBound واسماءها كما تفضلت بكتابتها ماذا تقصد بمصدر بيانات الحقل خلينا فى الانجليزى العربى عندى بيؤدى لالتباس احيانا 😄 الاسماء صحيحة كما تفضلت بكتابتها ولكن بتظهر الخطأ الاول
  12. جربتها بالفعل حدث هذا الخطأ فحذفت Lsql واشتغلت ولكن هناك مشكلتين .. اول مشكلة بتكرر الالحاق ثانى مشكلة بتاخد اول سطر فقط فى التفاصيل .. يعنى اعتقد هذا السطر لا يعمل بالشكل المطلوب Loop Lsql.MoveNext Loop
  13. حدث الخطأ التالى استاذنا ... لو محتاج قاعدة البيانات احاول اجهزها ليك تجرب عليها ولكن فيها الكثير من التفاصيل والحقول المطلوب ملئها وقد تؤدى الى التشتيت لذلك ارفقت الاكواد فقط @jjafferr
  14. استاذى الفاضل تقدر تحلها معصوب العينين هههههه ... هجرب واوافيك بالنتيجة تشرفت بمرورك
  15. السلام عليكم .. اخوانى الافاضل عندى مشكلة غريبة واتمنى سعة الصدر لطول الموضوع نسبيا , المشكلة كما العنوان تحدث فى قاعدة بيانات Accde فى نموذج مستمر Continuous Form مصدره كالتالى : SELECT Bom.productcode, Bom.code, Bom.Item, Bom.cons, Bom.BomNumber, [Item Names].Type, Bom.Remarks FROM [Item Names] INNER JOIN Bom ON [Item Names].code = Bom.code WHERE (((Bom.productcode)=Forms!FrmNewPo!t0) And ((Bom.BomNumber)=Forms!FrmNewPo!Bom)); المشكلة تحدث عند ضغط زر الامر بالكود التالى : Private Sub Command204_Click() DoCmd.OpenForm "Robot" DoCmd.GoToRecord , , acNewRec Forms![Robot]![PONumber] = Me.T7 Forms![Robot]![productcode] = Me.t0 Forms![Robot]![OrderQty] = Me.T3 Forms![Robot]![zdate] = Me.T6 Forms![Robot]![Mold] = Me.Mold Forms![Robot]![Machine] = Me.Machine Forms![Robot]![Status] = Me.Status Forms![Robot]![ProductBomNum] = Me.Bom DoCmd.Close Dim sql As DAO.Recordset Set sql = CurrentDb.OpenRecordset("TblPoMaterials", dbOpenDynaset) DoCmd.SetWarnings False DoCmd.GoToRecord , , acFirst 'بداية المشكلة من هذا السطر For m = 1 To T8 With sql .AddNew !PONumber = T7 !MaterialCode = Code1 !MaterialName = T1 !ProductionDate = T6 !Shift = "none" !cons = T2 !AdditionPercent = Text324 !MaterialType = Text300 !OrderQty = T3 .Update End With DoCmd.GoToRecord , , acNext Next m MsgBox "Done", vbInformation, "Saved successfully" DoCmd.SetWarnings True t0 = "" T6 = "" T7 = "" T3 = "" T10 = "" T10 = "" Status = "" BomCombo = "" Me.ComboMachine = "" Me.ComboMold = "" Mold = "" Machine = "" T216 = "" Me.Requery بالنسبة لأول جزء من الكود مهمته الحاق البيانات فى جدول ما والجملة Sql لالحاق جزء التفاصيل Detail من النموذج الى جدول اخر ,, عند حدوث المشكلة يتم الحاق جزء الهيدر "مهمة النموذج Robot" اما بالنسبة للتفاصيل فلا تضيف حتى السطر الاول منها وبالتالى شككت فى سطر فى الكود بجواره ملاحظه .. قلت اجرب طريقة تانية بدل جملة SQL وقمت بعمل استعلام الحاق مهمته نفس مهمة جملة Sql وكود كالتالى : INSERT INTO TblPoMaterials ( PONumber, MaterialCode, MaterialName, Cons, MaterialType, ProductionDate, Shift, AdditionPercent, OrderQty ) SELECT [Forms]![FrmNewPo]![T7] AS Expr1, [Forms]![FrmNewPo]![Code1] AS Expr2, [Forms]![FrmNewPo]![T1] AS Expr3, [Forms]![FrmNewPo]![T2] AS Expr6, [Forms]![FrmNewPo]![Text300] AS Expr8, [Forms]![FrmNewPo]![T6] AS Expr4, "none" AS Expr5, [Forms]![FrmNewPo]![Text324] AS Expr7, [Forms]![FrmNewPo]![T3] AS Expr9; فاصبح الكود خلف زر الامر بالشكل التالى : Private Sub Command204_Click() DoCmd.OpenForm "Robot" DoCmd.GoToRecord , , acNewRec Forms![Robot]![PONumber] = Me.T7 Forms![Robot]![productcode] = Me.t0 Forms![Robot]![OrderQty] = Me.T3 Forms![Robot]![zdate] = Me.T6 Forms![Robot]![Mold] = Me.Mold Forms![Robot]![Machine] = Me.Machine Forms![Robot]![Status] = Me.Status Forms![Robot]![ProductBomNum] = Me.Bom DoCmd.Close DoCmd.SetWarnings False DoCmd.GoToRecord , , acFirst For m = 1 To T8 DoCmd.OpenQuery "QryAppendMat2" DoCmd.GoToRecord , , acNext Next m MsgBox "Done", vbInformation, "Saved successfully" DoCmd.SetWarnings True t0 = "" T6 = "" T7 = "" T3 = "" 'T5 = "" T10 = "" T10 = "" Status = "" BomCombo = "" Me.ComboMachine = "" Me.ComboMold = "" Mold = "" Machine = "" T216 = "" Me.Requery ولكن استمرت المشكلة ومش عارف المشكلة من ايه بالتحديد وعندى مجموعة ملاحظات , المشكلة مش بتحصل فى القاعدة Accdb مع جداول مرتبطة او مدمجة فى القاعدة قبل فصلها ولكن بتحصل مع Accde فقط المشكلة ممكن تحصل وممكن متحصلش بنفس الظروف وبنفس البيانات يعنى لو حصلت المشكلة وكررت العملية تانى بعد غلق وفتح النموذج ممكن العملية تشتغل تمام بدون اى مشكلة يعنى المشكلة مش سببها حقول فارغة او اختلاف فى نوعية البيانات . حذفت صورة المشكلة بالخطأ ولكن اتذكر ان فيها جزء In Design View يعنى ان النموذج ممكن يكون فى وضع التصميم ازاى فى قاعدة Accde مش عارف بس ممكن يكون تذكرى اللى خاطئ فهلتزم بالنقط اللى متأكد منها . المشكلة ممكن تحصل مرة كل 5 محاولات وممكن تحصل 2 كل 5 محاولات وممكن متحصلش من الاساس , اعتذر مرة اخرى لطول الموضوع واتطلع للمناقشة مع الاساتذة .. دمتم بخير
  16. كلنا بنتعلم من حضرتك يا استاذنا من يوم ما اشتركنا فى هذا المنتدى ربنا يبارك فيك .. وانا حاولت الفت نظر الاخ صاحب الموضوع للمشكلة الحقيقية ونحاول نساعده باذن الله على حسب ما تيسر من الوقت. راجع ردى على رسالتك على الخاص وانشره هنا للفائدة وأسس زى ما قلتلك ونكملها مع بعض كل يوم شوية على حسب الوقت المتوفر .. بس لازم التأسيس اللى قلتهولك لأنه الصح على حسب خبرتى فى المجال الصناعى و مجال الاكسس فى نفس الوقت . بالتوفيق
  17. يعنى رصيد اول المدة ده بمثابة نتيجة جرد بتعمله كل فترة ؟ طيب ماهو لو رصيدك تمام وبتراجع عليه كل اسبوع مثلا مش هتحتاج تعمل جرد وكل اللى هتعمله موضوع ملاحظات على رصيدك انه تم مراجعته فى التاريخ كذا وكانت النتيجة مظبوطة او لو فيه مشكلة هتعمل حركة وارد او صادر كتسوية جردية وبالتالى مش هتحتاج تعمل رصيد اول المدة ده اكتر من مرة أساسا الموضوع مخزنيا خطأ ونسبة الاخطاء هتزيد سواء فى كثرة الجرد او فى الادخال والعامل البشرى بصفة عامة .. عامة هيا مجرد آراء واللى يريحك اشتغل بيه وفى المرفق بتاعى هتلاقى رصيدك بيطلع بناء على كل مخزن على حدى
  18. انا حليتها بالفعل راجع كل المشاركات .. ولا راجعت والحل مش تمام ؟؟
  19. شوف كده .. عملت استعلامات جديدة والنتيجة فى استعلام QryBalance استعلاماتك فيها مشكلة ومعنديش وقت اراجعها .. نصيحة قاعدة البيانات محتاجة اعادة هيكلة هتحصل معاك مشاكل بسبب التقسيم السيئ ليها. تانى حاجة نصيحة اخوية طريقة الطلب والسؤال تبقى افضل من كده لأن محدش مضطر انه يساعدك كله بيساعد على حسب وقته .. بالتوفيق ABcont Amr.mdb
  20. سؤال بس انتا معملتش رصيد اول المدة كحركة واردة زيها زى اى وارد ليه بتاريخ نهاية السنة اللى فاتت مثلا وجنبها ملاحظة انها رصيد اول المدة وممكن تجيبها بأى استعلام ؟ لى عودة اذا حليتها ليك من اول ملاحظة اخى الكريم واضح ان بناء القاعدة من الاساس غير جيد وبالتالى حتى لو حلينا النقطة دى هتظهر معاك مشاكل فى المستقبل وكل ده بسبب التعقيد اللى بدون داعى .. ومع ذلك هحاول اشتغل على طريقتك يمكن اعرف اطلع اللى انتا طالبه
  21. جزاك الله استاذى الفاضل , سأقوم ان شاء الله بفتح موضوع جديد لمناقشة الطرق لجعل الاستعلامات اسرع وابسط .. بالاشارة الى الفكرة الجديدة فى التقسيم الى استعلامين سأقوم بتطبيقها باذن الله عند تيسر الوقت جزاك الله خير
  22. السلام عليكم .. بجانب حل استاذنا الفاضل جعفر كنت قد طرحت المشكلة فى منتدى اجنبى وبعد مناقشات عديدة تم التوصل لهذا الحل سأقوم بمشاركته حتى تعم الفائدة 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 جزاكم الله خير
  23. استاذى الفاضل جعفر زادك الله من علمه وبالفعل فى الطريقة الثانية قريبة جدا مما اطلبه وسنزيد حقلين فقط بالاضافة للتاريخ والوردية سنزيد رقم الماكينة ورقم امر الشغل ليصبح التسلسل طبقا لل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 اعطال بتفاصيلهم مثل الاستعلام المذكور فى الكود ليصبح كل اعطال الماكينة فى نفس اليوم فى نفس الوردية على نفس امر الشغل كلهم فى سطر واحد فقط (وذلك طبقا لتفضيل المدير فى قراءة التقرير :) ) .. وأعلم استاذى ان هناك طرق افضل ولكن كل شخص يستعمل الادوات التى يتمكن منها كل على حسب مستواه :) نشعر بقلة المعرفة عند مناقشتك فى مواضيع مثل هذه زادك الله من علمه .. اذا كان لديك رحابة صدر لتكملة الموضوع ممكن افتح موضوع جديد لمناقشة طريقة افضل للحصول على نفس النتيجة وطبعا بشكل اسرع .. آسف جدا على الاطالة و سأتصفح الردود غدا باكرا
×
×
  • اضف...

Important Information