سلام

نوشته شده توسط
babak_delphi
SELECT * FROM table1 WHERE Conditions INTO table2
كدي كه دوست گرامي Babak_Delphi نوشتند براي مواقعي هست كه دو شرط برقرار باشه .
1 - Table به نام table2 از قبل وجود نداشته باشه .
2 - هر دو جدول table1 و table2 در يك فايل پايگاه داده باشند .
بعلاوه ، يك اشكال كوچيك هم داره كه جاي INTO table2 قبل از FROM هست .
به هر ترتيب ، از اونجا كه شما جداولتون در دو پايگاه داده جدا ( دو فايل جدا ) هست ، كد ايشون
مشكلي رو حل نخواهد كرد .
چون نفرموديد جدول old از قبل وجود داره يا نه من كد هر دو حالت رو مينويسم .
فرض كنيد دو فايل Access با نامهاي Database1 و Database2 در ريشه درايو C داريد و فرض كنيم
كه جدول new_Table داريد كه دو فيلد field_1 و field_2 داره و شما مايليد اين فيلدها رو به فيلدهاي
هم عرضشون با همين نامها در جدول old_Table منتقل كنيد .
اگر old_Table از پيش وجود نداشته باشد :
with ADOQuery1 do
begin
sql.Clear;
sql.Add('select * into old_Table in '+QuotedStr('C:\DataBase2.mdb'));
sql.Add('from new_Table');
ExecSQL;
end;
اگر جدول old_Table از قبل وجود دارد ( مهم نيست كه جدول old_Table مقدار داشته باشه يا نه
فقط توجه كنيد كه فيلدهاي field_1 و field_2 در جدول مقصد از نوع AutoNumber نباشه ) :
with ADOQuery1 do
begin
sql.Clear;
sql.Add('insert into old_Table (field_1,field_2) in '+QuotedStr('C:\DataBase2.mdb'));
sql.Add('select field_1,field_2 from new_Table');
ExecSQL;
end;
توجه كنيد كه ADOQuery1 به فايل DataBase1 وصل هست .
موفق باشيد .