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

التعديل على كود زيادة كمية المرتجع


ehab2005

الردود الموصى بها

 الأخ صالح من فضلك إذا يمكن أن تساعدني بتعديل كود لزيادة كمية المرتجع ..هذا جزء من قاعدة بيانات فاتورة مبيعات.. في فاتورة المرتجع invoiceHFB عند ادخال نفس كود الصنف يتم زيادة الكمية بمعدل واحد صحيح في كل مرة إلى مالانهاية والمطلوب جعل الكود الذي يضيف الكميات يتوقف حده عند الكمبة المباعة في فاتورة البيع ولا يتعداها...الكود موجود في قبل التحديث للنموذج الفرعي  invoiceTFB...أرجو المساعدة بشدة وشكرا

fatoraedit1.rar

رابط هذا التعليق
شارك

السلام عليكم

أخي الكريم عندما تريد السؤال عن شيء فقم فتح موضوع جديد. و لقد قمت بفتح موضوع جديد لسؤالك

ثانيا: يا ريت تسهل علينا سؤالك شوي فالنموذج الذي وضعته لم أستطع تسجيل البيانات فيه

  • Like 1
رابط هذا التعليق
شارك

10 ساعات مضت, صالح حمادي said:

السلام عليكم

وعليكم السلام ورحمة الله وبركاته

10 ساعات مضت, صالح حمادي said:

أخي الكريم عندما تريد السؤال عن شيء فقم فتح موضوع جديد.

الأخ صاحب السؤال قد قام بفتح موضوع جديد بالفعل هنا قبل سؤالكم 

 

وجزاكم الله خيرا - وأحسن اليكم 

رابط هذا التعليق
شارك

17 ساعات مضت, ehab2005 said:

لا تؤاخذني يا أخ صالح فقد فتحت موضوع جديد فعلا ولكن مع قلة التفاعل اعتقدت أن المنتدى مهجور فقلت دعني أجرب لعل أحدا يشاهد موضوعي..أنا آسف مرة أخرى

جرب هذا

Dim sql As String
On Error GoTo MsgErr
If DCount("[ItemCode]", "[InvoiceTT]", "[InvoiceCode]=" & Me.InvoiceCode & "and [ItemCode]=" & Me.ItemCode) > 0 Then
sql = "UPDATE InvoiceTT SET InvoiceTT.QCB = [InvoiceTT]![QCB]+[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![QCB] " & vbCrLf & _
"WHERE (([InvoiceTT]![QCB]<=[InvoiceTT]![QSold]) AND ((InvoiceTT.InvoiceCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![InvoiceCode]) AND ((InvoiceTT.ItemCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![ItemCode]));"
sql1 = "UPDATE [InvoiceTT] SET [InvoiceTT].Total1 = [InvoiceTT]![Total1]+[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![Total1] WHERE ((([InvoiceTT].InvoiceCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![InvoiceCode]) AND (([InvoiceTT].ItemCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![ItemCode]));"
sql2 = "UPDATE [InvoiceTT] SET [InvoiceTT].OppB = [InvoiceTT]![OppB]+[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![OppB] WHERE ((([InvoiceTT].InvoiceCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![InvoiceCode]) AND (([InvoiceTT].ItemCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![ItemCode]));"

sql5 = "UPDATE [ItemsT] SET [ItemsT].QAvilable = [ItemsT]![QAvilable]+[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![QCB] WHERE ((([InvoiceTT].InvoiceCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![InvoiceCode]) AND (([ItemsT].ItemId)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![ItemCode]));"

 

تم تعديل بواسطه ابو ياسين المشولي
رابط هذا التعليق
شارك

جزاك الله كل الخير ابوياسين علي اهتمامك..وقد جربت الكود فحدد كمية المردود بواحد فقط ومنع زبادتها عن ذلك رغم أن الكمية المباعة أكثر والمفروض أن يسمح بزيادة عدد المردود حتى نفس عدد الكمية المباعة ليس أكثر منها..ولكن تعديل الكود الذي أدخلته فعل شيئا جيدا وهو أنه منع زيادة باقي الحقول التي تعمل عليها الأكواد الأخري كحقل الرصيد وحقل المبلغ وهذا شيئ جيد ومرفق الملف بعد عمل التعديل  الذي اقترحته    وشكرا مرة أخري

fatoraedit123.rar

رابط هذا التعليق
شارك

جرب الان لعلي اخطائت

Dim sql As String
On Error GoTo MsgErr
If DCount("[ItemCode]", "[InvoiceTT]", "[InvoiceCode]=" & Me.InvoiceCode & "and [ItemCode]=" & Me.ItemCode) > 0 Then
sql = "UPDATE InvoiceTT SET InvoiceTT.QCB = [InvoiceTT]![QCB]+[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![QCB] " & vbCrLf & _
"WHERE (([InvoiceTT]![QCB]<=[InvoiceTT]![QSold]) AND ((InvoiceTT.InvoiceCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![InvoiceCode]) AND ((InvoiceTT.ItemCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![ItemCode]));"
sql1 = "UPDATE [InvoiceTT] SET [InvoiceTT].Total1 = [InvoiceTT]![Total1]+[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![Total1] WHERE ((([InvoiceTT].InvoiceCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![InvoiceCode]) AND (([InvoiceTT].ItemCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![ItemCode]));"
sql2 = "UPDATE [InvoiceTT] SET [InvoiceTT].OppB = [InvoiceTT]![OppB]+[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![OppB] WHERE ((([InvoiceTT].InvoiceCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![InvoiceCode]) AND (([InvoiceTT].ItemCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![ItemCode]));"

sql5 = "UPDATE [ItemsT] SET [ItemsT].QAvilable = [ItemsT]![QAvilable]+[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![QCB] WHERE ((([InvoiceTT].InvoiceCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![InvoiceCode]) AND (([ItemsT].ItemId)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![ItemCode]));"

 

fatoraedit123.accdb

رابط هذا التعليق
شارك

الله المستعان يا ابوياسين..نفس ما سبق..أعتقد أن حقل [QSold]  الذي يبحث عنه موجود في سجل آخر بالجدول عند رقم فاتورة آخر هو رقم فاتورة البيع...هل يجب تعديل دالة رأس الشرط بإضافة شرط آخر مثلاً؟

رابط هذا التعليق
شارك

شوف انا اضفنا له شرط نوع السند يكون بيع
sql = "UPDATE InvoiceTT SET InvoiceTT.QCB = [InvoiceTT]![QCB]+[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![QCB] " & vbCrLf & _
"WHERE ((([InvoiceTT]![QCB])<=[InvoiceTT]![QSold]) AND ((InvoiceTT.InvoiceCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![InvoiceCode]) AND ((InvoiceTT.ItemCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![ItemCode]) AND ([InvoiceTT]![MovementType]=""ÈíÚ""));"

اخي لو تشرحلي الجداول بيكون افضل

انا عملت هيك حسب الشرط بعتبار ان كميه البيع موجودة بالجدول وكان الشرط ان المرتجع اصغر او يساوي كميه البيع وهذا اضنه صحيح

تم تعديل بواسطه ابو ياسين المشولي
رابط هذا التعليق
شارك

لو أمكن بعد إذنك تنزل الملف وتشوف الجداول .. جدول تفاصيل الفاتورة [InvoiceTT] موجود به كل ما يخص عملية البيع والمرتجع والشراء. كل سجل يبدأ برقم فاتورة تجد فيه حقل لكل عملية من هذه العمليات البيع والمرتجع والشراء معاً في نفس السجل و لهذا عندما تتم عملية البيع يوضع رقم فاتورة آليا في أول السجل..هذا السجل يسجل كل ما يخص عملية البيع من كميات وخلافه في هذا السجل الذي يبدأ برقم الفاتورة وبقية الحقول التي لا تخص عملية البيع بالتحديد تترك فارغة..فإذا ما جئنا ننفذ عملية مردود مبيعات يتم فتح سجل جديد برقم فاتورة جديد يتم تسجيل بيانات عملية المردود فيه وهذا السجل الجديد ليس مسجل فيه عملية البيع وإنما هي مسجلة في سجل آخر في الأعلى يبدأ برقم فاتورة البيع...وأنا لإحضار بيانات عملية البيع في فاتورة المردود وضعت نموذج فرعي TF2 ووضعت نموذج فاتورة المبيعات HF1 داخل فاتورة المردود ويتم تحديد رقم فاتورة البيع من خلال مربع بحث غير منضم "بحث" موجود برأس فاتورة المردود

 

رابط هذا التعليق
شارك

29 دقائق مضت, ehab2005 said:

لو أمكن بعد إذنك تنزل الملف وتشوف الجداول .. جدول تفاصيل الفاتورة [InvoiceTT] موجود به كل ما يخص عملية البيع والمرتجع والشراء. كل سجل يبدأ برقم فاتورة تجد فيه حقل لكل عملية من هذه العمليات البيع والمرتجع والشراء معاً في نفس السجل و لهذا عندما تتم عملية البيع يوضع رقم فاتورة آليا في أول السجل..هذا السجل يسجل كل ما يخص عملية البيع من كميات وخلافه في هذا السجل الذي يبدأ برقم الفاتورة وبقية الحقول التي لا تخص عملية البيع بالتحديد تترك فارغة..فإذا ما جئنا ننفذ عملية مردود مبيعات يتم فتح سجل جديد برقم فاتورة جديد يتم تسجيل بيانات عملية المردود فيه وهذا السجل الجديد ليس مسجل فيه عملية البيع وإنما هي مسجلة في سجل آخر في الأعلى يبدأ برقم فاتورة البيع...وأنا لإحضار بيانات عملية البيع في فاتورة المردود وضعت نموذج فرعي TF2 ووضعت نموذج فاتورة المبيعات HF1 داخل فاتورة المردود ويتم تحديد رقم فاتورة البيع من خلال مربع بحث غير منضم "بحث" موجود برأس فاتورة المردود

 

نعم ولكن غير موجده بالنموذج كمية البيع لذلك هو ما يقدر يطبق الشرط

شوف هذا التعديل اذا نفع بيكون ممتاز عملت له بشرط يكون نوع الفاتورة بيع

sql = "UPDATE InvoiceTT SET InvoiceTT.QCB = [InvoiceTT]![QCB]+[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![QCB] " & vbCrLf & _
"WHERE ((([InvoiceTT]![QCB])<=[InvoiceTT]![QSold]) AND ((InvoiceTT.InvoiceCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![InvoiceCode]) AND ((InvoiceTT.ItemCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![ItemCode]) AND ([InvoiceTT]![MovementType]=""بيع""));"

 

تم تعديل بواسطه ابو ياسين المشولي
رابط هذا التعليق
شارك

بعد الفحص جرب هذا

Dim sql As String
On Error GoTo MsgErr
If DCount("[ItemCode]", "[InvoiceTT]", "[InvoiceCode]=" & Me.InvoiceCode & "and [ItemCode]=" & Me.ItemCode) > 0 Then
sql = "If DCount("[ItemCode]", "[InvoiceTT]", "[InvoiceCode]=" & Me.InvoiceCode & "and [ItemCode]=" & Me.ItemCode) > 0 Then
sql = "UPDATE InvoiceTT SET InvoiceTT.QCB = [InvoiceTT]![QCB]+[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![QCB] " & vbCrLf & _
"WHERE ((([InvoiceTT]![QCB])<=[Forms]![InvoiceHFB]![InvoiceHF1].[Form]![Text209]) AND ((InvoiceTT.InvoiceCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![InvoiceCode]) AND ((InvoiceTT.ItemCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![ItemCode]));"
sql1 = "UPDATE [InvoiceTT] SET [InvoiceTT].Total1 = [InvoiceTT]![Total1]+[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![Total1] WHERE ((([InvoiceTT].InvoiceCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![InvoiceCode]) AND (([InvoiceTT].ItemCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![ItemCode]));"
sql2 = "UPDATE [InvoiceTT] SET [InvoiceTT].OppB = [InvoiceTT]![OppB]+[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![OppB] WHERE ((([InvoiceTT].InvoiceCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![InvoiceCode]) AND (([InvoiceTT].ItemCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![ItemCode]));"

sql5 = "UPDATE [ItemsT] SET [ItemsT].QAvilable = [ItemsT]![QAvilable]+[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![QCB] WHERE ((([InvoiceTT].InvoiceCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![InvoiceCode]) AND (([ItemsT].ItemId)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![ItemCode]));"

 

تم تعديل بواسطه ابو ياسين المشولي
رابط هذا التعليق
شارك

في ٢١‏/٩‏/٢٠١٩ at 23:53, أبو عبدالله الحلوانى said:

الأخ صاحب السؤال قد قام بفتح موضوع جديد بالفعل هنا قبل سؤالكم 

شكرا أخي عبد الله على التنبيه فلم أرى موضوعه من قبل

في ٢٢‏/٩‏/٢٠١٩ at 01:50, ehab2005 said:

لا تؤاخذني يا أخ صالح فقد فتحت موضوع جديد فعلا ولكن مع قلة التفاعل اعتقدت أن المنتدى مهجور فقلت دعني أجرب لعل أحدا يشاهد موضوعي

أعتذر أخي إيهاب لأنني لم أرى موضوعك من قبل

رابط هذا التعليق
شارك

19 ساعات مضت, ehab2005 said:

عذرا  ابوياسين ما عندي امكانية الفيديو الآن... هل انت ما استطعت تفتح الملف عندك؟

 

شوف هذا الكود

انا متاكد ميه في الميه انه سليم

Dim sql As String
On Error GoTo MsgErr
If DCount("[ItemCode]", "[InvoiceTT]", "[InvoiceCode]=" & Me.InvoiceCode & "and [ItemCode]=" & Me.ItemCode) > 0 Then
sql = "UPDATE InvoiceTT SET InvoiceTT.QCB = [InvoiceTT]![QCB]+[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![QCB] " & vbCrLf & _
"WHERE (([InvoiceTT]![QCB]+[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![QCB]<=[InvoiceTT]![QSold]) AND ((InvoiceTT.InvoiceCode)=[Forms]![InvoiceHFB]![InvoiceHF1].[Form]![InvoiceNum]) AND ((InvoiceTT.CustCode)=[Forms]![InvoiceHFB]![InvoiceHF1].[Form]![CustCode]) AND ((InvoiceTT.ItemCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![ItemCode]));"
sql1 = "UPDATE [InvoiceTT] SET [InvoiceTT].Total1 = [InvoiceTT]![Total1]+[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![Total1] WHERE ((([InvoiceTT].InvoiceCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![InvoiceCode]) AND (([InvoiceTT].ItemCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![ItemCode]));"
sql2 = "UPDATE [InvoiceTT] SET [InvoiceTT].OppB = [InvoiceTT]![OppB]+[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![OppB] WHERE ((([InvoiceTT].InvoiceCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![InvoiceCode]) AND (([InvoiceTT].ItemCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![ItemCode]));"
sql3 = "UPDATE [InvoiceTT] SET [InvoiceTT].TaxB = [InvoiceTT]![TaxB]+[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![TaxB] WHERE ((([InvoiceTT].InvoiceCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![InvoiceCode]) AND (([InvoiceTT].ItemCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![ItemCode]));"
sql4 = "UPDATE [InvoiceTT] SET [InvoiceTT].Paid1 = [InvoiceTT]![Paid1]+[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![Paid1] WHERE ((([InvoiceTT].InvoiceCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![InvoiceCode]) AND (([InvoiceTT].ItemCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![ItemCode]));"
sql5 = "UPDATE [ItemsT] SET [ItemsT].QAvilable = [ItemsT]![QAvilable]+[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![QCB] WHERE ((([InvoiceTT].InvoiceCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![InvoiceCode]) AND (([ItemsT].ItemId)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![ItemCode]));"

ولكي تتاكد ضع هذا الكود في حدث بعد التحديث لكميه المرتجع

DoCmd.RunSQL "UPDATE InvoiceTT SET InvoiceTT.QCB = [InvoiceTT]![QCB]+[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![QCB] " & vbCrLf & _
"WHERE (([InvoiceTT]![QCB]+[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![QCB]<=[InvoiceTT]![QSold]) AND ((InvoiceTT.InvoiceCode)=[Forms]![InvoiceHFB]![InvoiceHF1].[Form]![InvoiceNum]) AND ((InvoiceTT.CustCode)=[Forms]![InvoiceHFB]![InvoiceHF1].[Form]![CustCode]) AND ((InvoiceTT.ItemCode)=[Forms]![InvoiceHFB]![InvoiceTFB].[Form]![ItemCode]));"

1054413201_.jpg.d4e8f6898173faca994db2b183062056.jpg

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information