Главная страница
    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
3-1148719079
Micker2
2006-05-27 12:37
2006.08.06
Вывод на печать в виде таблицы


2-1152859528
T54
2006-07-14 10:45
2006.08.06
Добавление bmp к exe . . .


2-1153411217
Ivolg
2006-07-20 20:00
2006.08.06
Сообщение


15-1152339302
Колдун
2006-07-08 10:15
2006.08.06
Проблема с NFS: Most Wanted


2-1152879718
Начинающий 5
2006-07-14 16:21
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский