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

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

بدأه medreg في 7 أكتوبر 2011 · 6 رد · 921 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

النسخة المستعملة الدلفي7

القاعدة المستعملة

absolute database

ارجو المساعدة في التعديل على هذا الكود

الكود يعمل بشكل جيد إلا أنه يستغرق وقت طويل

لذا ارجو من ذوي الخبرة في الميدان

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

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

Prg_Transfert.rar

تم تعديل هذه المشاركة بواسطة medreg في 8 أكتوبر 2011 في 11:03

#2
medreg كتب:

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

النسخة المستعملة الدلفي7

القاعدة المستعملة

absolute database

ارجو المساعدة في التعديل على هذا الكود

الكود يعمل بشكل جيد إلا أنه يستغرق وقت طويل

لذا ارجو من ذوي الخبرة في الميدان

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

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

لقد وجدت هذا الرد في احد المنتديات الا انني لا احسن التعامل مع sql

ارجو اذا كان يعنيني عن كل هذه المتاعب

ان يفسر لي احدكم هذا الرد من فضلكم

insert into RECAP (...)
select ...
from PRODUITS P, CLIENT C
where ...

كيف استعمله لتتم عملية التحويل بسرعة وبدون مشاكل

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

#3

لاحول ولا قوة الا بالله

ما هذا يا اعضاء منتدانا الحبيب

50 مشاهدة و15 تحميل

من دون رد

انا بحاجة لردكم على الموضوع

#4
medreg كتب:

لقد وجدت هذا الرد في احد المنتديات الا انني لا احسن التعامل مع sql

ارجو اذا كان يعنيني عن كل هذه المتاعب

ان يفسر لي احدكم هذا الرد من فضلكم

insert into RECAP (...)
select ...
from PRODUITS P, CLIENT C
where ...

كيف استعمله لتتم عملية التحويل بسرعة وبدون مشاكل

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

اخي العزيز هل تقصد تحويل البيانات من ملف الى ملف

فسافيدك إن شاء الله

انا عرفت ان الملف DM.TProduit.Eof هو الملف المطلوب منه البيانات والملف TRecap.Close; هو الهدف

واللذي افرغته ( TRecap.EmptyTable;)قبل بدء التحوبل هل هذا صحيح؟

ولكن ماذا تقصد

DM.TClient.Eof

ارجو التوضيح

وسبكون ردي يالليل إن شاء الله بعد توضيحك لنا

تحياتي

تم تعديل هذه المشاركة بواسطة shalwan في 13 أكتوبر 2011 في 11:52

نسأل الله الجنه لنا ولوالدينا ولمن لهم حق علينا

#5
shalwan كتب:

اخي العزيز هل تقصد تحويل البيانات من ملف الى ملف

فسافيدك إن شاء الله

انا عرفت ان الملف DM.TProduit.Eof هو الملف المطلوب منه البيانات والملف TRecap.Close; هو الهدف

واللذي افرغته ( TRecap.EmptyTable;)قبل بدء التحوبل هل هذا صحيح؟

ولكن ماذا تقصد

DM.TClient.Eof

ارجو التوضيح

وسبكون ردي يالليل إن شاء الله بعد توضيحك لنا

تحياتي

مشكور أخي على المساعدة

نعم اخي فكل ما فهمته صحيح

اما بالنسب للقصد من DM.TClient.eof

TClient هو الجدول الأب

و TProduit هو الجدول الإبن للجدول TClient

بمعنى

TProduit.MasterSource = TClient

#6
medreg كتب:

مشكور أخي على المساعدة

نعم اخي فكل ما فهمته صحيح

اما بالنسب للقصد من DM.TClient.eof

TClient هو الجدول الأب

و TProduit هو الجدول الإبن للجدول TClient

بمعنى

TProduit.MasterSource = TClient

انا ما اعرف الأب والأبن

اعرف بان الملف لديه KEY غير قابل للتكرار حتي تضمن عدم تداخل السجلات

لنبدا:

الشروط المطلوبه لما ساوضحه لك هي

ان يكون الملف المطلوب النسخ اليه مفرغا

وان بكون طلبك نقل المعلومات من ملف لهذا الملف مساويا للحقول اللتي ستنقلها

هذا العمل مطبق على قاعدة البيانات من نوع SQL او ACCISE

انا استخدم

ADO ,

+ADOQuery1: TADOQuery

+ ADOCommand1: TADOCommand;

01 ضع لديك ما يماثلها بالداتا مودل التي تستخدمها

ساستخدم معك ADOCOMMAND للتعامل مع الملف المطلوب سواءا اضافه او تعديل او حذف

ولكن يشترط قفل الملف وفتحه قبل الأستعلام عن المعلومات لأن اوامره تنسل للملف بدونه علمه الا بعد قفله وفتحه يظهر التغيير عليه

لنفرغ الملف

على طريقتك

TRecap.Close;

TRecap.EmptyTable;

TRecap.Open;

TRecap.Refresh;

على طريقة الكوري

DM.TRECAP.CLOSE;

DM.ADOCOMMAND1.COMMANDTEXT:='DELETE FROM TRECAP''

dm.ADOCommAND1.Execute();

DM.TRECAP.OPEN;

DM.TRECAP.CLOSE;

;

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

الثاني اما هذا فافدني بما فهمته

تحياتي

تم تعديل هذه المشاركة بواسطة shalwan في 14 أكتوبر 2011 في 17:43

نسأل الله الجنه لنا ولوالدينا ولمن لهم حق علينا

#7

حسب رأيي وبكل بساطة مشكلتك في هذ السطر

if DM.TRecap.Locate('Code;Annee;Cde_Cne;Payement',vararrayof([tCode,tAnnee,tCde_Cne,tPyt]),[locaseinsensitive,lopartialkey]) then

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

tRecID:=DM.TProduitRecID.asType;
...
...
...
if DM.TRecap.Locate('RecID',tRecID,[]) then

آمل ان اكون قد افدتك

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…