27-03-2010, 04:49 PM
القيت نظرة على المرفق ان كان العدد صغيرا بدلا من BatchMove يمكنك فعل ذلك برمجيا
تقريبا نفس ما كان مكتوب بالمرفق بتصرف
للحفظ
كود :
TB_1.First;
while not TB_1.Eof do begin
if TB_Archive.Locate('GRP;SRP',VarArrayof([TB_1GRP.AsString,TB_1SRP.AsString]),[loCaseInsensitive])
then TB_Archive.Edit else TB_Archive.Append;
TB_ArchiveGRP.AsString:= TB_1GRP.AsString;
TB_ArchiveSRP.AsString:= TB_1SRP.AsString;
TB_ArchiveMT_TOT.AsFloat:=TB_1MT_TOT.AsFloat;
TB_Archive.Post;
TB_1.Next;
end;كود :
TB_ARCHIVE.First;
while not TB_ARCHIVE.Eof do begin
if TB_1.Locate('GRP;SRP',VarArrayof([TB_ARCHIVEGRP.AsString,TB_ARCHIVESRP.AsString]),[loCaseInsensitive])
then TB_1.Edit else TB_1.Append;
TB_1GRP.AsString:= TB_ARCHIVEGRP.AsString;
TB_1SRP.AsString:= TB_ARCHIVESRP.AsString;
TB_1MT_TOT.AsFloat:= TB_ARCHIVEMT_TOT.AsFloat;
TB_1.Post;
TB_ARCHIVE.Next;
end;ملاحظتين:
لم تذكراي شيئ عن قيمة الحقل NUM بالجدول الاول الذي يبقى دون قيمة عند الاسترجاع
بالنسبة للمكون ABSDatabase1 من الاحسن ان تكون DataBaseName دون مسار test_A.ABS

