نسخ اكثر من عمود من جدول الى اخر
#1
السلام عليكم جميعا
اريد انشاء زر عند الضغط عليه انسخ خمس اعمدة من جدول الى خمس اعمدة في جدول اخر بنفس التسمية، وبعد ذلكاقوم بتغيير المعلومات في الجدول الاول و عند الضغط عليه مرة اخرى ينسخ المعلومات ويضيفها الى الجدول الثاني
الرد
#2
ما نوع قاعدة البيانات؟
الرد
#3
(12-10-2017, 08:38 PM)PLANSHARP كتب : ما نوع قاعدة البيانات؟
أكسس
الرد
#4
و عليكم السلام و رحمة الله

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

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

وفقكم الله.
[-] كل من 1 user says قال شكرا ل PLANSHARP على المشاركة المفيدة
  • h-farid
الرد
#6
لم أتوصل الى حل فهل من مساعد.....
الرد
#7
أرفق تجربتك لنحاول معك
الرد
#8
او يمكنك استخدام مكون FDBatchMove
تم شرح المكون في دروس برنامج المبيعات
https://www.youtube.com/playlist?list=PL...7SoK1kNIVJ
[-] كل من 1 user says قال شكرا ل rahiche على المشاركة المفيدة
  • Bachirsoft
الرد
#9
يمكنك إضافة مكون 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 الى اسم مكون الاستعلام الخاص بك
[-] كل من 1 user says قال شكرا ل Ben.Ja على المشاركة المفيدة
  • Bachirsoft
الرد
#10
مثال استخدمته منذ مدة
يمكنك الاستفادة من هذا المثال و هو خاص بتحيين مخزون

كود :
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;
[-] كل من 1 user says قال شكرا ل bouh25 على المشاركة المفيدة
  • Bachirsoft
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم