اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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


Ahmed.IQ

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

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

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

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

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

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

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

 

  • 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
رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information