Hamtoooo قام بنشر ديسمبر 11, 2022 قام بنشر ديسمبر 11, 2022 السلام عليكم مشكلتي بسيطة اريد عند اضافة الاصناف باطراف الفاتورة تلقائيا يتحدث حقل الاجمالي الموجود برأس الفاتورة وكذلك عند حذف صنف يتم تحديث قيمة الاجمالي الموجود برأس الفاتورة اريد التحديث يتم بدون عمل زر حفظ فاتورة اريده تلقائي وذلك بعد الاضافه مباشره او بعد الحذف مباشرة حاولت بكذا طريقه لم تفلح وبإنتظار افكاركم الجميله مرفق لكم المثال الفاتورة.accdb
Eng.Qassim قام بنشر ديسمبر 11, 2022 قام بنشر ديسمبر 11, 2022 وعليكم السلام.. عند الاضافة والحذف يتحدث حقل الاجمالي تلقائيا
jjafferr قام بنشر ديسمبر 11, 2022 قام بنشر ديسمبر 11, 2022 وعليكم السلام 🙂 المشاركة في الرابط التالي ستوضح لك السبب ، وطريقة العلاج جعفر
Hamtoooo قام بنشر ديسمبر 11, 2022 الكاتب قام بنشر ديسمبر 11, 2022 (معدل) ما ينفع حاولت ولم تتحدث شوفو المشكله فيديو عشان يبين معكم تم تعديل ديسمبر 11, 2022 بواسطه Hamtoooo
سامي الحداد قام بنشر ديسمبر 12, 2022 قام بنشر ديسمبر 12, 2022 تفضل اخي الكريم شوف التعديل ووافينا بالنتجة بالتوفيق الفاتورة.accdb
Hamtoooo قام بنشر ديسمبر 12, 2022 الكاتب قام بنشر ديسمبر 12, 2022 منذ ساعه, سامي الحداد said: تفضل اخي الكريم شوف التعديل ووافينا بالنتجة بالتوفيق اشكرك جزيل الشكر على مشاركتك ومحاولتك لكن الكارثة هو انك الغيت ارتباط حقل اجمالي الفاتورة من الجدول الرئيسي وجعلته غير منظم وهذا لا يفيد لان اجمالي الفاتورة دوما سيبقى صفر
jjafferr قام بنشر ديسمبر 12, 2022 قام بنشر ديسمبر 12, 2022 السلام عليكم 🙂 دائما في عمل اي برنامج ، يجب ان تفكر في اسوء الحالات: البرنامج به عشرات الالآف من السجلات ، وعلى شبكة ، وعندك الكثير من المستخدمين 🙂 هناك طريقتين لحل سؤالك: 1. الطريقة المُكلفة ، لأنها يجب ان ترجع للجدول ، وتأخذ القيم منه ، ثم تقوم بعملية الجمع ، بإستعمال DSum ، ومع ان الكود سهل ، ولكني دائما اتفاداه ، 2. وبما ان النموذج (النموذج الفرعي في حالتنا) ، يقوم قد اخذ البيانات من الجدول ، فنستطيع عمل الجمع من واقع بيانات النموذج: أ. عن طريق الامر Me.RecordsetClone ، ونعمل امر دوران لجمع قيم حقل "السعر" ، ب. عن طريق الاستفادة من حقل الجمع t1 في ذيل النموذج الفرعي (بإستعمال الامر Sum) ، وهو كما قمت انت بعمله: صحيح ان حقل الجمع في النموذج الفرعي t1 يقوم بجمع قيم الحقل "السعر" تلقائيا ، ولكنه يحتاج الى وقت لكي يقوم بهذه العملية كل مرة ، فالحيلة هي ان ننتظر الى يتم تعبئة الحقل بالمجموع الجديد ، ثم نعطي هذه القيمة الى الحقل "اجمالي الفاتورة" في النموذج الرئيسي ، وبما انه لديك عمليتين ، اضافة وحذف ، فاليك الكود عند اضافة سجل (بما اننا نستخدم نموذج اضافة مستقل ، فيجب ان ننادي حقل النموذج الفرعي t1 عن طريق نموذجه الرئيسي ثم الفرعي) : Private Sub cmd_Add_Record_Click() 'Save the Record If Me.Dirty Then Me.Dirty = False 'Requery the SubForm to show the new Record Forms!الفاتورة!الاصناف.Requery 'wait until the sum shows in the SubForm Do Until Len(Forms!الفاتورة!الاصناف!t1 & "") <> 0 DoEvents Loop 'transfer the value to the Main Form field Forms!الفاتورة![اجمالي الفاتورة] = Nz(Forms!الفاتورة!الاصناف!t1, 0) 'close the Add Form DoCmd.Close acForm, Me.Name, acSaveNo End Sub . وهذا الكود عند حذف سجل من النموذج الفرعي مباشرة : Private Sub cmd_Delete_Record_Click() 'Delete the Record DoCmd.RunCommand acCmdDeleteRecord 'Requery the Sum Field Me.t1.Requery 'wait until the sum shows in the SubForm Do Until Len(Me.t1 & "") <> 0 DoEvents Loop 'transfer the value to the Main Form field Me.Parent![اجمالي الفاتورة] = Nz(Me.t1, 0) End Sub جعفر 1534.Update_MainForm_with_SubForm_Total.accdb.zip 2
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.