![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблемка небольшая !!! [D7, XP]
031178 © (2008-03-22 08:48:00)У меня есть 2 таблицы, в одной хранится 2 поля, т. е. наименование товара и артикул (_Cod_Art - артикул, _Name_Tovar - наименование товара) и вторая таблица, куда необходимо ложить данные из первой таблицы (_Name_Predm - артикул, _Predm - сюда нужно положить данные из _Name_Tovar, первой таблицы). Бегать по запися долго, очень долго, если сделать вот так :
ADODataSet4.First;
for jj := 0 to ADODataSet4.RecordCount - 1 do
begin
ADODataSet5.First;
for kk := 0 to ADODataSet5.RecordCount - 1 do
begin
if ADODataSet5['_Cod_Art'] = ADODataSet4['_Name_Predm'] then
begin
ADODataSet4.Edit;
ADODataSet4['_Predm'] := ADODataSet5['_Name_Tovar'];
ADODataSet4.Post;
end;
ADODataSet5.Next;
end;
ADODataSet4.Next;
Может кто подскажет ? Как это сделать быстро и правильно ?
Заранее все спасибо !!
Игорь Шевченко (2008-03-22 11:50:00) [1]Правила оформления вопросов читаем.
031178 (2008-03-22 10:44:00) [2]Пишет так :
Обновление влияет на слишком большое количество строк
Savek (2008-03-22 09:51:00) [3]
With ADODataSet4 do begin
DisableContrils;
First;
while not eof do begin
If AdoDataSet5.Locate('_Cod_Art',FieldByName('_Cod_Art').AsString,[]) then begin
Edit;
FieldByName('_Predm']).AString := ADODataSet5. FieldByname('_Name_Tovar').AsString;
Post;
end;
Next;
end;
EnableControls;
end;