delphi4arab منتديات دلفي للعرب
نسخ اكثر من عمود من جدول الى اخر - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : نسخ اكثر من عمود من جدول الى اخر (/showthread.php?tid=8934)



نسخ اكثر من عمود من جدول الى اخر - Bachirsoft - 12-10-2017

السلام عليكم جميعا
اريد انشاء زر عند الضغط عليه انسخ خمس اعمدة من جدول الى خمس اعمدة في جدول اخر بنفس التسمية، وبعد ذلكاقوم بتغيير المعلومات في الجدول الاول و عند الضغط عليه مرة اخرى ينسخ المعلومات ويضيفها الى الجدول الثاني


RE: نسخ اكثر من عمود من جدول الى اخر - PLANSHARP - 12-10-2017

ما نوع قاعدة البيانات؟


RE: نسخ اكثر من عمود من جدول الى اخر - Bachirsoft - 13-10-2017

(12-10-2017, 08:38 PM)PLANSHARP كتب : ما نوع قاعدة البيانات؟
أكسس


RE: نسخ اكثر من عمود من جدول الى اخر - h-farid - 13-10-2017

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

حلقة تكرارية (أو اثنتان متداخلتان), هل ينفع ؟


RE: نسخ اكثر من عمود من جدول الى اخر - PLANSHARP - 13-10-2017

يمكنك إنشاء استعلامات تعديل داخل ملف الأكسس فهي سريعة جداً حتى لو كان عدد السجلات كبير أسرع بكثير من استخدام المحرك من الدلفي, أي تكون وظيفة هذا الإستعلام نسخ تلك الأعمدة إلى الجدول الثاني.

طريقة تنفيذ هذا الإستعلام تكون من الدلفي نفسها عن طريق adocommand إذا كنت تستخدم ADO, فيكفي أن تكتب اسم هذا الإستعلام داخل ال Commandtext و تقوم بعمل execute فسيقوم الأكسس بتنفيذه بشكل صامت و سريع.

وفقكم الله.


RE: نسخ اكثر من عمود من جدول الى اخر - Bachirsoft - 14-10-2017

لم أتوصل الى حل فهل من مساعد.....


RE: نسخ اكثر من عمود من جدول الى اخر - PLANSHARP - 14-10-2017

أرفق تجربتك لنحاول معك


RE: نسخ اكثر من عمود من جدول الى اخر - rahiche - 14-10-2017

او يمكنك استخدام مكون FDBatchMove
تم شرح المكون في دروس برنامج المبيعات
https://www.youtube.com/playlist?list=PLClgJfKTCMEjTMentflUXYY7SoK1kNIVJ


RE: نسخ اكثر من عمود من جدول الى اخر - Ben.Ja - 14-10-2017

يمكنك إضافة مكون ADOQuery أو FDQuery على حسب ما تستخدم, وفي ال sql الخاص به:

PHP كود :
Insert into table_d
select 
* from table_s 
table_d هو اسم الجدول الذي تريد النسخ إليه
table_s اسم الجدول الذي تريد النسخ منه

أيضا اذا اردت نسخ أعمدة معينة
PHP كود :
Insert into table_d(column1,column2,..)
select * from table_s(column1,column2,..) 

ثم تقوم بتنفيذ الquery:
PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
begin
FDQuery1
.execute;
end; 
غير fdquery1 الى اسم مكون الاستعلام الخاص بك


RE: نسخ اكثر من عمود من جدول الى اخر - bouh25 - 14-10-2017

مثال استخدمته منذ مدة
يمكنك الاستفادة من هذا المثال و هو خاص بتحيين مخزون

كود :
begin tfjourp.First;     Tfjourp.edit;     while not Tfjourp.EOF Do       begin         tfjour.Active:=true;         Tfjour.edit;         tfjour.First ;         while not tfjour.EOF Do             begin               if tfjourp.FieldValues['n_prod']=tfjour.Fieldvalues['n_prod'] then               begin                 tfjour.Edit;                 if tfjour.FieldValues['q_stok'] +tfjour.Fieldvalues['Q_entre']>= tfjourp.FieldValues['quantete']then                   begin                   tfjour.Fieldvalues['Q_sort']:=tfjourp.FieldValues['quantete'] ;                   tfjour.Fieldvalues['Q_fin']:=tfjour.Fieldvalues['Q_entre']+tfjour.FieldValues['q_stok']-tfjour.FieldValues['q_sort'] ;                   tfjour.Post;                   end                   else               end;               tfjour.next;             end;       tstock.Edit;       tstock.First;       while not Tstock.EOF Do             begin               if tfjourp.FieldValues['n_prod']=tstock.Fieldvalues['n_prod'] then               begin                 tstock.Edit;                 if tstock.Fieldvalues['Quantete']<tfjourp.FieldValues['quantete'] then                   begin                   ShowMessage('الكمية المطلوبة غير موجودة '+#13+#13+'  '+tstock.Fieldvalues['produit']);                   end                   else                   tstock.Fieldvalues['Quantete']:=tstock.Fieldvalues['Quantete']-tfjourp.FieldValues['quantete'] ;                   tstock.Post;               end;               tstock.next;             end;         Tfjourp.Next;   end; end;