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

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

قام بنشر

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

عندي جدول اصناف وفيه عدة حقول منها حقل السعر وحقل الكمية 

عندي نموذج مستمر ممكن افتح في النموذج الواحد خمسة اصناف او اكثر ودخل الكميات المشتراة واسعارها الجديده

محتاج انو اعمل استعلام تحديث يعمل عن طريق زر ويحدث الكميات الموجوده في النموذج واكيد بالاعتماد على كود الصنف يحدث الكمية انا عملت استعلام لكنه يقوم بتحديث اول قيمة فقط 

يعني ياخذ اول قيمة من النموذج المستمر ويتوقف ويترك باقي الاصناف لا يقوم بتحديثها .

هل هناك نجعل استعلام التحديث يحدث كافة الاصناف الموجوده بالنموذج وليس اول صنف فقط؟

 

  • Like 1
قام بنشر
2 ساعات مضت, Ahmed.IQ said:

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

عندي جدول اصناف وفيه عدة حقول منها حقل السعر وحقل الكمية 

عندي نموذج مستمر ممكن افتح في النموذج الواحد خمسة اصناف او اكثر ودخل الكميات المشتراة واسعارها الجديده

محتاج انو اعمل استعلام تحديث يعمل عن طريق زر ويحدث الكميات الموجوده في النموذج واكيد بالاعتماد على كود الصنف يحدث الكمية انا عملت استعلام لكنه يقوم بتحديث اول قيمة فقط 

يعني ياخذ اول قيمة من النموذج المستمر ويتوقف ويترك باقي الاصناف لا يقوم بتحديثها .

هل هناك نجعل استعلام التحديث يحدث كافة الاصناف الموجوده بالنموذج وليس اول صنف فقط؟

 

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

انظ لهذا ستجد ما تطلبه باذن الله

 

قام بنشر

ابو زاهر شكرا على الرد اخي .

اخذ نفس الكود لكن الوب لا يعمل يحدث اول سجل ويتوقف لم اعرف ما هيا المشكلة

النموذج الرئيسي اسمه 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

 

قام بنشر

شكراً اخ ابو زاهر .

المشكلة كانت في ان الكود لو تم عمل التحديث من خلال حقول في النموذج غير منضمة سيتوقف عن عمل الدورة الكاملة في السجل , لذا قمت بتعديل بعض الامور ولاستغناء عن الحقول في النموذج وعمل التحديث عن طريق الكود .

حاليا يقوم بتحديث حقلين بنفس السجل الكمية والسعر حسب متوسط السعر المرجح ويعمل بشكل جديد لو كان هناك اكثر من كود في النموذج

وهذا شكل الكود النهائي .

شكرا لك وشكرا للاخ الذي عمل الكود في المنشور الذي وضعته في التعليق نسئل الله ان يجعلة في ميزان حسناتكم.


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

 

  • Like 1

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