![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как перенести данные из одной таблицы в другую
Crazy monkey © (2006-07-06 13:06:00)Есть 2 абсолютно одинаковые таблицы и в этих таблицах 10 полей. Одна из таблиц используется как буфер для переноса данных в основную. Понимаю, что это достаточно кривой подход, но он меня устраивает и менять ничего не хочу.
Вопрос в том, как перенести данные из одной таблицы в другую. Сейчас использую такой код:
adotable1.FieldByName('Поле1').AsInteger:=adotable2.FieldByName('Поле1').AsInteg er;
adotable1.FieldByName('Поле2').AsInteger:=adotable2.FieldByName('Поле2').AsInteg er;
и.т.д.
Способо колхозный, но признаться и я сам колхозник в Делфи. Только начинаю первые шаги. Подскажите пож-та как перенести данные из одной таблицы в другую по умному.
Очень нужен исходник.
Заранее спасибо.
Virgo_Style (2006-07-17 13:20:00) [1]копируй в цикле по полям, а не вручную прописывай каждую пару. Если, конечно, имена полей совпадают.
DimonS (2006-07-17 08:33:00) [2]Вопрос в догонку.
Нужно скопировать некоторое количество записей, данных, отобранных select-ом из одной таблицы Access в другую.
НО!
Таблицы находятся в разных mdb-файлах, лежат в сетевых папках. Можно ли такое сделать каким-либо запросом? Или Access такое не поддерживает?
Desdechado (2006-07-07 10:35:00) [3]Crazy monkey (06.07.06 13:29) [5]
Не уверен, что акцесс такое поддерживает, но должен.
AdoCommand.CommandText:='INSERT INTO tabl1 SELECT * FROM tabl2';
Здесь не учтены варианты с разной структурой таблиц и ограничения по условиям. Но, как я понял, тебе это не надо.
ЮЮ (2006-07-07 04:42:00) [4]
> Я работаю с Аксесовскими таблицами через ADO компоненты.
через ado table. А поэтому выбранный тобой метод - самый лучший. Зачем к колхозным технологиям прикручитвать космические технологии? Чем тебя то не устраивает?
Умного решения кривого подхода в природе не существует.
Crazy monkey (2006-07-06 13:29:00) [5]Я работаю с Аксесовскими таблицами через ADO компоненты.
StriderMan (2006-07-06 13:25:00) [6]
> сам-то пробовал?
нет. наугад.
ндя, пардон, не будет такое работать.
но однозначно это в хранимой процедуре делать надо, через переменные.
Desdechado (2006-07-06 13:20:00) [7]StriderMan © (06.07.06 13:17) [2]
ты хоть понял, чего написал? сам-то пробовал?
StriderMan (2006-07-06 13:17:00) [8]можно сделать хранимую процедуру с циклом, в котором
INSERT INTO TABLE1 (...поля...) VALUES (SELECT * FROM TABLE2 WHERE ....) WHERE ...
Desdechado (2006-07-06 13:10:00) [9]Если укажешь СУБД, можешь получить и более быстрые способы.