المشاركات : 501
المواضيع 136
:
: 11
الإنتساب : Feb 2008
هذا كود وضعته لجلب من جدول إلى أخر لكنه يجلب كل القيم حتى لو كانت مكررة
IF table1Cde.value='1' and table1SCde.value='1-01' then
table2.insert;
أقصد بهذا الكود ما يلي
إذا كان الحقلين الموجودين في الجدول 1 يحملاني هذه القيمة أضف هذا السطر في الجدول الثاني
بشرط إن كان الحقلين متكررين بنفس القيمة في الجدول 1 أضف أحدهما فقط في الجدول الثاني
وهكذا إلى أن ينتهي
كما هو موضح في الصورة
هنا السؤال مطروح
ما ذا يجب علي أن أفعل ما هو الكود المناسب لكي أضيف أحد السطور
المشاركات : 67
المواضيع 7
:
: 0
الإنتساب : Jan 2009
المشاركات : 501
المواضيع 136
:
: 11
الإنتساب : Feb 2008
gigi كتب :استخدم المكون tbatchmove
شكرًا أخي العزيز
فعلاً
لكن المشكلة ليست في استعمال المكون أعلم أن المكون يصلح لمثل هذه العمليات لكن المشكل هو تكرار محتو الحقل
للتوضيح أكثر
الجدول1 مكون من أربع حقول وهي :
الحفل الأول : N
الحقل الثاني : Cde
الحقل الثالث : SCde
الحقل الرابع : Montant
المكون ديبقريد1 تابع لجدول1 يحتوي على 08 تسجيلات أي 08 أسطر و 04 أعمدة
التسجيل الأول مكرر مرتين واختلافهما في الحفل N و Montant فقط
الحقول التي أحتاج إلى إضاقتها في الجدول2 هي Cde , SCde فقط
المطلوب هو :
إذا كان الحقل Cde و SCde الموجود في السطر الأول للديبقريد1 مكرر في سطر أخر يجب أن يضيفه في
الجدول 2 مرة واحدة وليس مرتين كما هو موضح في المرفق أنظر للمرفق ولا تخف المرفق مفحوص وخالي من الفيروسات
هذا ما اردت توضيحه
ملاحظة صغير عن المرفق
المرفق عبارة عن صورة 010.bmp
لأنني لم أعرف كيف أدمج صورة في الموضوع
المشاركات : 67
المواضيع 7
:
: 0
الإنتساب : Jan 2009
العفو .....
المشكلة اني اتصفح الموقع من خلال هاتفي النقال فلا استطيع الرد بشكل وافي هذا عدا اني لم افهم قصدك ولكن متى ماتمكنت من الدخول من خلال الحاسوب احاول ذلك لكن اظن لو عملت فيلتر في الجدول الثاني معتمد على قيمة من الجدول الاول وتعمل شرط if لعدد السجلات للجدول الثاني لو اكثر من 1 هنا قم باخد البيانات بحلقة for تبدأ من صفر وتنتهي بعدد السجلات ناقص واحد
اتمنى ان تجد الحل بهذه الطريقة
المشاركات : 27
المواضيع 0
:
: 0
الإنتساب : Mar 2009
قم بعمل ترتيب للجدول بالاعتماد على الحقلين الثاني والثالث
كود :
Select * From Table1 Sort by CDE, SCDE;
In Delphi
Query1.Open;
While Not Query1.EOF Do
Begin
{Keep Previous Values}
Montant:=Query1Montant.AsInteger;
CDE:=Query1CDE.AsInteger;
SCDE:=Query1SCDE.AsString;
Query1.Next;
{Compare Previous and Next Values}
IF (CDE=Query1CDE.AsInteger) And (SCDE=Query1SCDE.AsString) Then
Begin
{Write the Code To Insert Your Values In The Second Table}
End;
While (CDE=Query1CDE.AsInteger) And (SCDE=Query1SCDE.AsString) Do {Skip Same Rows}
Query1.Next;
End;
المشاركات : 501
المواضيع 136
:
: 11
الإنتساب : Feb 2008
tempuser كتب :قم بعمل ترتيب للجدول بالاعتماد على الحقلين الثاني والثالث
مشكور على هذه المعلومة
لكن أود ان اطرح سؤال
أنا لا اتعامل في برنامجي مع مكون Query ولم اتعامل معه قط بل اتعامل مع المكون Table و DataSource
وإن كان من الضروري إستعمال المكون Query وضح لي طريقة التعامل معه
وجزاكم الله عنا كل خير
المشاركات : 27
المواضيع 0
:
: 0
الإنتساب : Mar 2009
اداة الجدول تشبه في عملها الى حد كبير اداة الاستعلام ولا يوجد فروقات كبيرة بنهم إلا أن أداة الاستعلام يفضل استخدمها للقراءة وعدم التعديل
يتم التعامل معها كما تتعامل مع أداة الجدول وسوف أقوم بالتوضيح
اضاف مكون TQuery
غير تسميته الىQuery1
نفرض ان اسم الجدول لديك هو TblSource
اختر المكون السابق Query1
به الخاصية SQL اضغط على الزر '...' يضهر محرر اكتب به
كود :
Select *
From TblSource
Order By CDE, SCDE;
اضغط<OK>
بعد ذلك تعامل معها وكأنها TTable
المشاركات : 501
المواضيع 136
:
: 11
الإنتساب : Feb 2008
جزاكم الله عنا كل خير
بدأت أستوعب نوعًا ما التعامل مع Query
لكن الشيءالذي لم أفهمه هو بعد أن ربطت Query1 مع Datasource1
كيف يتم تصفية كل ما سيضاف الى T_DESTINATION
إليك هذا المثال المرفق
المشاركات : 20
المواضيع 6
:
: 0
الإنتساب : Dec 2008
[B][FONT="Arial Black"]بسم الله الرحمن الرحيم
السلام على من اتبع الهدى
انصحك يااخي باستعمال المكون patchmove من القائمة BDE فهو مكون رائع يقوم بالعمليات التالية
1-نسخ جميع التسجيلات من قاعدة بيانات الى اخرى
2-نسخ التسجيلات الناقصة من قاعدة بيانات الرئيسة الى التابعة ....الخ فعليك بتجربته [B][/B][/B]
سبحان الله و بحمده عدد خلقه و رضا نفسه و زنة عرشه و مداد كلماته