Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.011 c
15-1152163149
Ega23
2006-07-06 09:19
2006.08.06
С Днём рождения! 6 июля


1-1151298348
Прогер
2006-06-26 09:05
2006.08.06
Переполнение стека при inherited Create;


9-1132529436
Антибаг
2005-11-21 02:30
2006.08.06
Ньюсгруппа GLScene повисла что ли?


9-1132902261
3dmaxx
2005-11-25 10:04
2006.08.06
Помогите выбрать 3dmax


15-1152534641
oldman
2006-07-10 16:30
2006.08.06
Программисты и эрудиция.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский