Главная страница
    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.012 c
2-1152955001
Ayvan
2006-07-15 13:16
2006.08.06
bold or not?)


15-1152603369
Ketmar
2006-07-11 11:36
2006.08.06
кто знает, где спулер принтера хранит свои задания?


2-1153316894
fast2
2006-07-19 17:48
2006.08.06
Не подключается ADOQuery


15-1152394014
PATRIOT
2006-07-09 01:26
2006.08.06
Как получить звук на входе и воспроизвести его на выходе


15-1152620171
boriskb
2006-07-11 16:16
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский