![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Копирование из одной базы в другую [D6, dBase, FoxPro]
M126 © (2003-07-18 08:41:00)Здравстуйте, Мастера. Как скопировать данные из одной базы (Table1) в другую(Table3)? Новую базу я создал теперь не знаю как в неё перенести данные из основной базы где Flag1 = false
Table3.Active:=false;
Table3.TableName:="kassend.dbf";
If not Table3.Exists then begin
with Table3 do begin
TableType:=ttDBase;
with FieldDefs do begin
Clear;
with AddFieldDef do begin
Name:="NO";
DataType:=ftString;
Size:= 10;
end;
with AddFieldDef do begin
Name:="KOD_KL";
DataType:=ftString;
Size:= 4;
end;
with AddFieldDef do begin
Name:="NAME_KL";
DataType:=ftString;
Size:= 50;
end;
with AddFieldDef do begin
Name:="Flag1";
DataType:=ftBoolean;
end;
end;
with IndexDefs do begin
Clear;
with AddIndexDef do begin
Name:="";
Fields:="NO";
Options:=[ixPrimary];
end;
end;
CreateTable;
Open;
Insert;
FieldByName("NO").AsString:="?";
FieldByName("KOD_KL").AsString:="?";
FieldByName("NAME_KL").AsString:="?";
FieldByName("Flag1").AsBoolean:=true;
Post;
end;
end;
Подскажите пдиз как дальше?
-=Vlad=- (2003-07-18 19:03:00) [1]Кстати M126, можешь не сильно замарачиваться со стуктурой создаваемой базы, а в BatchMove используй batCopy
для разъяснения см. Help
-=Vlad=- (2003-07-18 18:55:00) [2]Можно намного проще и быстрее.
Сначала необходимо отфильтровать
Table1.Open;
Table1.Filter:="Flag1=false";
Table1.Filtered:=True;
А затем само копирование
Table3.BatchMove(Table1,batAppend);
> Stas © (18.07.03 08:54)
> Вроде бы так.
Нет не так ;-)
Stas (2003-07-18 08:54:00) [3]While not Table1.Eof do
begin
Table3.Insert;
For I:=0 to Table1.Fields.count-1
do begin
Table3.fields[i].asVariant=Table1.fields[i].asVariant;
end;
Table3.Post;
Table1.Next
end;
Вроде бы так.