hougar قام بنشر سبتمبر 9, 2020 قام بنشر سبتمبر 9, 2020 (معدل) السلام عليكم صممت برنامج فواتير بالاكسس ولدي مشكلة في تحديث البيانات بحيث وجدت أنني مجبر عند اجراء عملية الاستعلام بالتحديث أن يكون الفورم مفتوحا ليقوم بتحديث بياناته ونقلها للجدول الموافق له ولكني حاولت أن أنجز أمر واحد يقوم بتحديث كل بيانات الفورمات السابقة ونقلها إلى جداولها الموافقة لها تم تعديل سبتمبر 9, 2020 بواسطه hougar
محمد أبوعبدالله قام بنشر سبتمبر 9, 2020 قام بنشر سبتمبر 9, 2020 وعليكم السلام ورحمة الله وبركاته يمكن تنفيذ الامر في حدث قبل التحديث Private Sub Form_BeforeUpdate(Cancel As Integer) ' ضع اوامر تنفيذ الاستعلامات هنا End Sub تحياتي 1
د.كاف يار قام بنشر سبتمبر 9, 2020 قام بنشر سبتمبر 9, 2020 (معدل) تفضل هذا الكود اخي الكريم حدد البيانات المراد تحديثها و كذلك الجداول Dim db As Database Dim sSQL As String On Error GoTo errorhandle ' الجدول الأول Set db = CurrentDb sSQL = "UPDATE Employees SET NameEmploye = '" & Text1 & "', StutesEmploye = '" & Text2 & "' WHERE [NoEmploye]=1;" db.Execute sSQL ' الجدول الثاني Set db = CurrentDb sSQL = "UPDATE LeaveRequest SET StutesEmploye = '" & Text2 & "' WHERE [NoEmploye]=1;" db.Execute sSQL MsgBox "تم تحديث الجداول بنجاح", vbInformation + vbMsgBoxRight, "تأكيد" errorhandleexit: Exit Sub errorhandle: MsgBox Err.Description Resume errorhandleexit تم تعديل سبتمبر 9, 2020 بواسطه د.كاف يار 2
hougar قام بنشر سبتمبر 11, 2020 الكاتب قام بنشر سبتمبر 11, 2020 13 ساعات مضت, د.كاف يار said: تفضل هذا الكود اخي الكريم حدد البيانات المراد تحديثها و كذلك الجداول Dim db As Database Dim sSQL As String On Error GoTo errorhandle ' الجدول الأول Set db = CurrentDb sSQL = "UPDATE Employees SET NameEmploye = '" & Text1 & "', StutesEmploye = '" & Text2 & "' WHERE [NoEmploye]=1;" db.Execute sSQL ' الجدول الثاني Set db = CurrentDb sSQL = "UPDATE LeaveRequest SET StutesEmploye = '" & Text2 & "' WHERE [NoEmploye]=1;" db.Execute sSQL MsgBox "تم تحديث الجداول بنجاح", vbInformation + vbMsgBoxRight, "تأكيد" errorhandleexit: Exit Sub errorhandle: MsgBox Err.Description Resume errorhandleexit في ٩/٩/٢٠٢٠ at 14:11, hougar said: السلام عليكم صممت برنامج فواتير بالاكسس ولدي مشكلة في تحديث البيانات بحيث وجدت أنني مجبر عند اجراء عملية الاستعلام بالتحديث أن يكون الفورم مفتوحا ليقوم بتحديث بياناته ونقلها للجدول الموافق له ولكني حاولت أن أنجز أمر واحد يقوم بتحديث كل بيانات الفورمات السابقة ونقلها إلى جداولها الموافقة لها في ٩/٩/٢٠٢٠ at 15:19, محمد أبوعبدالله said: وعليكم السلام ورحمة الله وبركاته يمكن تنفيذ الامر في حدث قبل التحديث Private Sub Form_BeforeUpdate(Cancel As Integer) ' ضع اوامر تنفيذ الاستعلامات هنا End Sub تحياتي شكرا على المساعدة لكن ربما لم استطع نقل البيانات بشكل صحيح أو أنني لم أستطع توضيح المشكلة جيدا مع العلم أن مشكلتي الاساسية هو تحديث لنفس الجدول (تحديث جدول الفواتير) انطلاقا من الفورم بمعني نقل بيانات عدة سجلات في امر واحد لتحديث جدول الفواتير دون الحاجة لفتح كل سجل وتشغيل استعلام التحديث.
محمد أبوعبدالله قام بنشر سبتمبر 11, 2020 قام بنشر سبتمبر 11, 2020 4 ساعات مضت, hougar said: أو أنني لم أستطع توضيح المشكلة جيدا بالمثال يتضح المقال ارفق الجزء الذي به المشكلة لتوضيح اكثر ولحل اسرع باذن الله تحياني
hougar قام بنشر سبتمبر 12, 2020 الكاتب قام بنشر سبتمبر 12, 2020 (معدل) لاحظ في الملف ان الفاتورة 18 تم تحديث بياناتها اما البقية فلم يتم التحديث (على افتراض أنني نسيت الضغط على تحديث البيانات) ولا تظهر المبالغ الاجمالية في الجدول والتقرير,,,,,,,,,,,,,,,,......,, هل يمكن كتابة امر يقوم بتحديث كل الفواتير مرة واحدة لأنني عند نسيان الضغط على تحديث البيانات أجد نفسي مضطرا للعودة لكل فاتورة وتحديثها. ملاحظة صممت معظم الاوامر بالماكرو لكن لا مشكلة إن كان كان حل الاشكال يتطلب الاعتماد على الاوامر بالكود فواتير.rar تم تعديل سبتمبر 12, 2020 بواسطه hougar
hougar قام بنشر سبتمبر 13, 2020 الكاتب قام بنشر سبتمبر 13, 2020 في ١٢/٩/٢٠٢٠ at 13:51, hougar said: لاحظ في الملف ان الفاتورة 18 تم تحديث بياناتها اما البقية فلم يتم التحديث (على افتراض أنني نسيت الضغط على تحديث البيانات) ولا تظهر المبالغ الاجمالية في الجدول والتقرير,,,,,,,,,,,,,,,,......,, هل يمكن كتابة امر يقوم بتحديث كل الفواتير مرة واحدة لأنني عند نسيان الضغط على تحديث البيانات أجد نفسي مضطرا للعودة لكل فاتورة وتحديثها. ملاحظة صممت معظم الاوامر بالماكرو لكن لا مشكلة إن كان كان حل الاشكال يتطلب الاعتماد على الاوامر بالكود فواتير.rar 70.09 kB · 8 تنزيلات في ١٢/٩/٢٠٢٠ at 00:51, محمد أبوعبدالله said: بالمثال يتضح المقال ارفق الجزء الذي به المشكلة لتوضيح اكثر ولحل اسرع باذن الله تحياني
محمد أبوعبدالله قام بنشر سبتمبر 13, 2020 قام بنشر سبتمبر 13, 2020 السلام عليكم لتحديث حقل Total amount في جميع الفواتير يمكن انشاء استعلام تحديث لحقل Total amount كالتالي DSum("(([price]*[number])-[discount])";"[subinvoices]";"[N invoice] =" & [N invoice]) لاحظ الاستعلام الجديد Query1 UPDATE invoices SET invoices.[Total amount] = DSum("(([price]*[number])-[discount])","[subinvoices]","[N invoice] =" & [N invoice]); وفي حدث عند الخروج في نموذج افواتير = invoices ضع الكود التالي Private Sub Form_Close() DoCmd.SetWarnings False DoCmd.OpenQuery "Query1" DoCmd.SetWarnings True End Sub اما بالنسبة لحقل الباقي فيمكنك ان تجعله حقل محسوب كالتالي [Total amount]-[paid up] او تستغني عن عن الحقل وستخدم العملية الحسابية في الاستعلام = Query2 كالتالي Remaining_amount: Nz([Total amount])-Nz([paid up]) SELECT invoices.[Total amount], invoices.[paid up], Nz([Total amount])-Nz([paid up]) AS Remaining_amount FROM invoices; فواتير.rar تحياتي
hougar قام بنشر سبتمبر 16, 2020 الكاتب قام بنشر سبتمبر 16, 2020 شكراجزيلا لك إأخي على حل المشكلة لقد حللت المشكلة بفكرة بسيطة لكنها رائعة شكرا لك مرة أخرى في ١٣/٩/٢٠٢٠ at 22:32, محمد أبوعبدالله said: السلام عليكم لتحديث حقل Total amount في جميع الفواتير يمكن انشاء استعلام تحديث لحقل Total amount كالتالي DSum("(([price]*[number])-[discount])";"[subinvoices]";"[N invoice] =" & [N invoice]) لاحظ الاستعلام الجديد Query1 UPDATE invoices SET invoices.[Total amount] = DSum("(([price]*[number])-[discount])","[subinvoices]","[N invoice] =" & [N invoice]); وفي حدث عند الخروج في نموذج افواتير = invoices ضع الكود التالي Private Sub Form_Close() DoCmd.SetWarnings False DoCmd.OpenQuery "Query1" DoCmd.SetWarnings True End Sub اما بالنسبة لحقل الباقي فيمكنك ان تجعله حقل محسوب كالتالي [Total amount]-[paid up] او تستغني عن عن الحقل وستخدم العملية الحسابية في الاستعلام = Query2 كالتالي Remaining_amount: Nz([Total amount])-Nz([paid up]) SELECT invoices.[Total amount], invoices.[paid up], Nz([Total amount])-Nz([paid up]) AS Remaining_amount FROM invoices; فواتير.rar 64.77 kB · 7 تنزيلات تحياتي
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.