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

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

قام بنشر

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

fatoraedit1.rarFetching info...

قام بنشر

السلام عليكم

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

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

  • Like 1
قام بنشر
  في 21‏/9‏/2019 at 11:26, صالح حمادي said:

السلام عليكم

Expand  

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

  في 21‏/9‏/2019 at 11:26, صالح حمادي said:

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

Expand  

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

 

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

قام بنشر

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

قام بنشر (معدل)
  في 21‏/9‏/2019 at 23:50, ehab2005 said:

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

Expand  

جرب هذا

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.rarFetching info...

قام بنشر

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

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.accdbFetching info...

قام بنشر

الله المستعان يا ابوياسين..نفس ما سبق..أعتقد أن حقل [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 داخل فاتورة المردود ويتم تحديد رقم فاتورة البيع من خلال مربع بحث غير منضم "بحث" موجود برأس فاتورة المردود

 

قام بنشر (معدل)
  في 22‏/9‏/2019 at 19:00, ehab2005 said:

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

 

Expand  

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

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

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]));"

 

تم تعديل بواسطه ابو ياسين المشولي
قام بنشر
  في 21‏/9‏/2019 at 21:53, أبو عبدالله الحلوانى said:

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

Expand  

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

  في 21‏/9‏/2019 at 23:50, ehab2005 said:

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

Expand  

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

قام بنشر
  في 22‏/9‏/2019 at 20:19, ehab2005 said:

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

 

Expand  

شوف هذا الكود

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

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