Ahmed.IQ قام بنشر أغسطس 10, 2018 قام بنشر أغسطس 10, 2018 السلام عليكم ورحمة الله عندي جدول اصناف وفيه عدة حقول منها حقل السعر وحقل الكمية عندي نموذج مستمر ممكن افتح في النموذج الواحد خمسة اصناف او اكثر ودخل الكميات المشتراة واسعارها الجديده محتاج انو اعمل استعلام تحديث يعمل عن طريق زر ويحدث الكميات الموجوده في النموذج واكيد بالاعتماد على كود الصنف يحدث الكمية انا عملت استعلام لكنه يقوم بتحديث اول قيمة فقط يعني ياخذ اول قيمة من النموذج المستمر ويتوقف ويترك باقي الاصناف لا يقوم بتحديثها . هل هناك نجعل استعلام التحديث يحدث كافة الاصناف الموجوده بالنموذج وليس اول صنف فقط؟ 1
النجاشي قام بنشر أغسطس 10, 2018 قام بنشر أغسطس 10, 2018 2 ساعات مضت, Ahmed.IQ said: السلام عليكم ورحمة الله عندي جدول اصناف وفيه عدة حقول منها حقل السعر وحقل الكمية عندي نموذج مستمر ممكن افتح في النموذج الواحد خمسة اصناف او اكثر ودخل الكميات المشتراة واسعارها الجديده محتاج انو اعمل استعلام تحديث يعمل عن طريق زر ويحدث الكميات الموجوده في النموذج واكيد بالاعتماد على كود الصنف يحدث الكمية انا عملت استعلام لكنه يقوم بتحديث اول قيمة فقط يعني ياخذ اول قيمة من النموذج المستمر ويتوقف ويترك باقي الاصناف لا يقوم بتحديثها . هل هناك نجعل استعلام التحديث يحدث كافة الاصناف الموجوده بالنموذج وليس اول صنف فقط؟ وعليكم السلام ورحمه الله وبركاته انظ لهذا ستجد ما تطلبه باذن الله
Ahmed.IQ قام بنشر أغسطس 10, 2018 الكاتب قام بنشر أغسطس 10, 2018 ابو زاهر شكرا على الرد اخي . اخذ نفس الكود لكن الوب لا يعمل يحدث اول سجل ويتوقف لم اعرف ما هيا المشكلة النموذج الرئيسي اسمه form1 النموذج الفرعي اسمه F_ReceiptDetails الجدول اسمه T_items الجداول التي احتاج الى تعديلها داخل الجدول stok وا amount الحقول التي سيتم اخذ المعلومات الجديده منها لغرض تحديث الحقول في الجدول هيا stoknew و amountnew بشرط ان id داخل الجدول يساوي idit داخل النموذج الفرعي وهذا الكود بعد التعديل عليه On Error GoTo enderr DoCmd.SetWarnings False 'النموذج Set Rs = Forms![form1]![F_ReceiptDetails].Form.RecordsetClone 'الجدول للتحري Set RsEdit = CurrentDb.OpenRecordset("T_items") Rs.MoveFirst 'دوران Do While Not Rs.EOF RsEdit.MoveFirst 'دوران للجدول Do Until RsEdit.EOF 'اذا وجد السجل If RsEdit!ID = Me.F_ReceiptDetails!IDIt Then 'تحريره RsEdit.Edit RsEdit!Stok = Me.F_ReceiptDetails!Stoknew RsEdit.Update ' RsEdit.Edit ' RsEdit!AmountRe = Me.F_ReceiptDetails!Amountnew ' RsEdit.Update End If RsEdit.MoveNext Loop Rs.MoveNext Loop Set Rs = Nothing Set RsEdit = Nothing MsgBox " تم تعديل السجلات الى الجدول بنجاح ", vbInformation, "تم " Exit Sub enderr: MsgBox " خطا في البيانات ", vbInformation, "لم يتم التعديل" DoCmd.SetWarnings True
النجاشي قام بنشر أغسطس 10, 2018 قام بنشر أغسطس 10, 2018 @Ahmed.IQارفق القاعده ان شاء الله نقدر نساعدك انا او الاخون
Ahmed.IQ قام بنشر أغسطس 11, 2018 الكاتب قام بنشر أغسطس 11, 2018 شكراً اخ ابو زاهر . المشكلة كانت في ان الكود لو تم عمل التحديث من خلال حقول في النموذج غير منضمة سيتوقف عن عمل الدورة الكاملة في السجل , لذا قمت بتعديل بعض الامور ولاستغناء عن الحقول في النموذج وعمل التحديث عن طريق الكود . حاليا يقوم بتحديث حقلين بنفس السجل الكمية والسعر حسب متوسط السعر المرجح ويعمل بشكل جديد لو كان هناك اكثر من كود في النموذج وهذا شكل الكود النهائي . شكرا لك وشكرا للاخ الذي عمل الكود في المنشور الذي وضعته في التعليق نسئل الله ان يجعلة في ميزان حسناتكم. On Error GoTo enderr DoCmd.SetWarnings False 'النموذج Set Rs = Forms![form1]![F_ReceiptDetails].Form.RecordsetClone 'الجدول للتحري Set RsEdit = CurrentDb.OpenRecordset("T_items") Rs.MoveFirst 'دوران Do While Not Rs.EOF RsEdit.MoveFirst 'دوران للجدول Do Until RsEdit.EOF 'اذا وجد السجل If RsEdit!ID = Rs!IDIt Then 'تحرير RsEdit.Edit RsEdit!Stok = RsEdit!Stok + Rs!Quantity RsEdit!AmountRe = ((RsEdit!Stok - Rs!Quantity) * (RsEdit!AmountRe) + (Rs!Amount * Rs!Quantity)) / RsEdit!Stok RsEdit.Update End If RsEdit.MoveNext Loop Rs.MoveNext Loop Set Rs = Nothing Set RsEdit = Nothing DoCmd.SetWarnings True MsgBox " تم تحديث البينات ", vbInformation, "تم " Exit Sub enderr: MsgBox " لم يتم تحديث البيانات ", vbInformation, "لم يتم التعديل" DoCmd.SetWarnings True 1
النجاشي قام بنشر أغسطس 11, 2018 قام بنشر أغسطس 11, 2018 @Ahmed.IQ يعني كذا خلاص نتهيت من المشكله اما ماذا لم افهمك اخي
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.