Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.06;
Скачать: CL | DM;

Вниз

Как перенести данные из одной таблицы в другую   Найти похожие ветки 

 
Crazy monkey   (2006-07-06 13:06) [0]

Есть 2 абсолютно одинаковые таблицы и в этих таблицах 10 полей. Одна из таблиц используется как буфер для переноса данных в основную. Понимаю, что это достаточно кривой подход, но он меня устраивает и менять ничего не хочу.

Вопрос в том, как перенести данные из одной таблицы в другую. Сейчас использую такой код:

adotable1.FieldByName("Поле1").AsInteger:=adotable2.FieldByName("Поле1").AsInteg er;
adotable1.FieldByName("Поле2").AsInteger:=adotable2.FieldByName("Поле2").AsInteg er;
и.т.д.

Способо колхозный, но признаться и я сам колхозник в Делфи. Только начинаю первые шаги. Подскажите пож-та как перенести данные из одной таблицы в другую по умному.

Очень нужен исходник.

Заранее спасибо.


 
Desdechado ©   (2006-07-06 13:10) [1]

Если укажешь СУБД, можешь получить и более быстрые способы.


 
StriderMan ©   (2006-07-06 13:17) [2]

можно сделать хранимую процедуру с циклом, в котором

INSERT INTO TABLE1 (...поля...) VALUES (SELECT * FROM TABLE2 WHERE ....) WHERE ...


 
Desdechado ©   (2006-07-06 13:20) [3]

StriderMan ©   (06.07.06 13:17) [2]
ты хоть понял, чего написал? сам-то пробовал?


 
StriderMan ©   (2006-07-06 13:25) [4]


> сам-то пробовал?

нет. наугад.

ндя, пардон, не будет такое работать.

но однозначно это в хранимой процедуре делать надо, через переменные.


 
Crazy monkey   (2006-07-06 13:29) [5]

Я работаю с Аксесовскими таблицами через ADO компоненты.


 
ЮЮ ©   (2006-07-07 04:42) [6]


> Я работаю с Аксесовскими таблицами через ADO компоненты.

через adotable. А поэтому выбранный тобой метод - самый лучший. Зачем к колхозным технологиям прикручитвать космические технологии? Чем тебя то не устраивает?

Умного решения кривого подхода в природе не существует.


 
Desdechado ©   (2006-07-07 10:35) [7]

Crazy monkey   (06.07.06 13:29) [5]
Не уверен, что акцесс такое поддерживает, но должен.
AdoCommand.CommandText:="INSERT INTO tabl1 SELECT * FROM tabl2";
Здесь не учтены варианты с разной структурой таблиц и ограничения по условиям. Но, как я понял, тебе это не надо.


 
DimonS ©   (2006-07-17 08:33) [8]

Вопрос в догонку.
Нужно скопировать некоторое количество записей, данных, отобранных select-ом из одной таблицы Access в другую.

НО!
Таблицы находятся в разных mdb-файлах, лежат в сетевых папках. Можно ли такое сделать каким-либо запросом? Или Access такое не поддерживает?


 
Virgo_Style ©   (2006-07-17 13:20) [9]

копируй в цикле по полям, а не вручную прописывай каждую пару. Если, конечно, имена полей совпадают.



Страницы: 1 вся ветка

Текущий архив: 2006.08.06;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.042 c
15-1152509704
Ega23
2006-07-10 09:35
2006.08.06
С Днём рождения! 8 июля


2-1153405685
BFG9k
2006-07-20 18:28
2006.08.06
Хранение древовидных структур


15-1152129575
Petr V. Abramov
2006-07-05 23:59
2006.08.06
Птичку жалко :)


1-1150798928
ГостьНомер
2006-06-20 14:22
2006.08.06
Как перекрыть абстрактную функцию с другими параметрами?


4-1145268720
DVM
2006-04-17 14:12
2006.08.06
Как наиболее быстро и без задержек проверить доступность диска?