MyTetra Share
Делитесь знаниями!
Запись ADO recordset в прилинкованную таблицу
Время создания: 06.03.2020 07:46
Текстовые метки: VBA, ADO, EOF
Раздел: Разные закладки - VBA - Access - ADO
Запись: xintrea/mytetra_db_adgaver_new/master/base/1583469874a6xohlse8h/text.html на raw.githubusercontent.com

В любом случае - открытый рекордсет - это переменная в памяти компьютера, а не объект базы данных. Из переменной нельзя сделать From. В принципе нельзя. Добавлено через 5 минут Какую альтернативу можно педложить, если ссылка на базу оракл в тексте запроса не получитя:


Visual BasicВыделить код

Dim rsADO As Adodb.Recordset, rsGoal As Adodb.Recordset

Set rsADO = New ADODB.Recordset

rsADO.Open SQL_запрос,Conn, и т.д.

Set rsGoal = New ADODB.Recordset

rsGoal.Open ИмяТаблицыКуда, Conn, и т.д.

 

While not rsADO.EOF

    rsGoal.AddNew

    rsGoal.ИмяПоля = rsADO.ИмяПоля

    rsGoal.ИмяПоля = rsADO.ИмяПоля

....

    rsGoal.ИмяПоля = rsADO.ИмяПоля

    rsADO.MoveNext

wend

rsGoal.UpdateBatch

Добавлено через 59 секунд В некоторых случаях метод .UpdateBatch не работает (если честно, я по хелпу по ADO так и не поняла, в каких именно (похоже, зависит от особенностей конкретного сервера), посто запомнила сам факт, что может и не работать) - тогда нужно делать rsGoal.Update в каждом цикле. Но на MS SQL Server .UppendAll работал нормально.

Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования