الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة في كود يتعامل مع أكسس

مغلق
بدأه Like Delphi في 25 أبريل 2006 · 7 رد · 647 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

هذا الكود يتصل مع جدولين في قاعدة بيانات من نوع أكسس يوجد بين الجدولين علاقة

Master - Details

و المطلوب من هذا الكود هو ضرب رقم موجود في السجل الأول مع رقم موجود في كل من السجلات الفرعية الخاصة به ووضع

الناتج في حقل جديد موجود أيضاً في كل من السجلات الفرعية

وعند التنفيذ فإنه لا يتم حساب سوى أول سجل

أرجو المساعدة و شكراً

var panelqty, i,j: integer;
begin
  ADOTable1.DisableControls;
  ADOTable2.DisableControls;
  try
    ADOTable1.First;
    ADOTable2.First;
    for i := 0 to ADOTable1.RecordCount - 1 do
    begin
      panelqty :=ADOTable1.FieldValues['qty'];
      for j:= 0 to ADOTable2.RecordCount -1 do
      begin
        ADOTable2.Edit;
        DataSource2.DataSet.FieldValues['tpanelqty'] := DataSource2.DataSet.FieldValues['qty'] * panelqty;
        DataSource2.DataSet.FieldValues['ntp'] := DataSource2.DataSet.FieldValues['tpanelqty'] * DataSource2.DataSet.FieldValues['up'];
        DataModule1.ADOTable2.Post;
        DataModule1.ADOTable2.Next;
      end;
      ADOTable1.Next;
    end;
  finally
    ADOTable1.EnableControls;
    ADOTable2.EnableControls;
  end;

قال تعالى: ((وَمَا أَصَابََكُمْ مِنْ مُصِيبَةٍ فَبمَا كَسَبَتْ أَيْدِيكُمْ وَ يَعْفُو عَنْ كَثِيرٍ)) :.:.: الشورى: الآية 30.

IN ALLAH WE TRUST

:.:.:.:.:.:.:.:.:.:.:.:.:.:

#2
 ADOTable1.DisableControls;
 ADOTable2.DisableControls;
 try
   ADOTable1.First;
   ADOTable2.First;
   while not ADOTable1.eof do
   begin
     while not ADOTable2.eof do
     begin
       ADOTable2.Edit;
       ADOTable2.FieldByName('tpanelqty').Value:= ADOTable1.FieldByName('qty').Value * ADOTable2.FieldByName('qty').Value;
       ADOTable2.FieldByName('ntp').Value:= ADOTable2.FieldByName('tpanelqty').Value * ADOTable2.FieldByName('up').Value;
       ADOTable2.Post;
       ADOTable2.Next;
     end;
     ADOTable1.Next;
   end;
 finally
   ADOTable1.EnableControls;
   ADOTable2.EnableControls;
 end;

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#3

شكراً على الرد السريع

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

والباقي يبقى أصفاراً

هل ممكن أن تكون المشكلة في أكسس

قال تعالى: ((وَمَا أَصَابََكُمْ مِنْ مُصِيبَةٍ فَبمَا كَسَبَتْ أَيْدِيكُمْ وَ يَعْفُو عَنْ كَثِيرٍ)) :.:.: الشورى: الآية 30.

IN ALLAH WE TRUST

:.:.:.:.:.:.:.:.:.:.:.:.:.:

#4

ليس هناك مشكلة في الاكسس

هل تم الربط Master\Detials بشكل مناسب

اذا كان سجل Master=0 فهذا سوف يؤدي الى الناتج 0 في كل السجلات الفرعية فعليك الانتباه من ذلك لان العملية هي ضرب

اذا لم تحل المشكلة ارفق لي الحالة التي تستخدمها لكي اراها على حاسبي

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#5

السلام عليكم

هذا هو المثال

شكراً

Example.rar

قال تعالى: ((وَمَا أَصَابََكُمْ مِنْ مُصِيبَةٍ فَبمَا كَسَبَتْ أَيْدِيكُمْ وَ يَعْفُو عَنْ كَثِيرٍ)) :.:.: الشورى: الآية 30.

IN ALLAH WE TRUST

:.:.:.:.:.:.:.:.:.:.:.:.:.:

#6

السلام عليكم

لا تستخدم

.DisableControls;

و سيعمل البرنامج

d4baa0.gif
#7

السلام عليكم

الله يرضى عليك أخي DeltaAziz

ولكن مالسبب

مع العلم أنني استعمل الـ .DisableControls في أجزاء أخرى

وعلى جداول أخرى ولم يحصل مشاكل

وجزاك الله خيراً

أخوكم :)

قال تعالى: ((وَمَا أَصَابََكُمْ مِنْ مُصِيبَةٍ فَبمَا كَسَبَتْ أَيْدِيكُمْ وَ يَعْفُو عَنْ كَثِيرٍ)) :.:.: الشورى: الآية 30.

IN ALLAH WE TRUST

:.:.:.:.:.:.:.:.:.:.:.:.:.:

#8

السلام عليكم

عدت و ألغيت الـ DisableControls لجدول الماستر

وأبقيتها لجدول الـ Details

فعمل البرنامج بشكل طبيعي

أعتقد أنه يجب تعطيل الـ Controls فقط على الجدول الذي تتم عليه الحلقة

شكراً لجميع الردود, حلت المشكلة.

وجزاكم الله خيراً جميعاً.

قال تعالى: ((وَمَا أَصَابََكُمْ مِنْ مُصِيبَةٍ فَبمَا كَسَبَتْ أَيْدِيكُمْ وَ يَعْفُو عَنْ كَثِيرٍ)) :.:.: الشورى: الآية 30.

IN ALLAH WE TRUST

:.:.:.:.:.:.:.:.:.:.:.:.:.:

هذا الموضوع مغلق.

مواضيع مشابهة