powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Использование Recordset’а в SQL-запросе
3 сообщений из 3, страница 1 из 1
Использование Recordset’а в SQL-запросе
    #32372468
ChAko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как сделать следующие?

Открыли Recordset.
Код: plaintext
Set rs = db.OpenRecordset( "SELECT ID  FROM [Подсчёт баллов];" )
Затем нам нужно подать запрос на БД данных, вида:
Код: plaintext
db.Execute  "INSERT INTO Temp (ID) SELECT ID  FROM [Подсчёт баллов];" 

Но мы уже делали часть из этого запроса, а именно
Код: plaintext
SELECT ID  FROM [Подсчёт баллов];
и данные об этом хранятся у нас в открытом Recordset’е. Как их использовать в нужном нам запросе?

Иначе говоря:
Как использовать данные из уже открытого Recordset’а в SQL запросе, если нам нужны не единичные данные, а целая таблица?
...
Рейтинг: 0 / 0
Использование Recordset’а в SQL-запросе
    #32373519
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никак
...
Рейтинг: 0 / 0
Использование Recordset’а в SQL-запросе
    #32373825
Фотография tpg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отчего же? Можно, но... тормоз обеспечен, да и есть ограничения.
1. Объявляем строковую переменную

Dim SqlStr As String

2. Открываем Recordset

Set rs = db.OpenRecordset("SELECT ID FROM [Подсчёт баллов];")

3. Позиционируем его в начало

rs.MoveFirst

4. В цикле по записям рекордсета формируем строку (цикл опускаю)

SqlStr = SqlStr + rs.Fields("ID").Value + ","

5. Приводим строку к окончательному виду

SqlStr = Mid(SqlStr, 1, Len(SqlStr) - 1)
SqlStr = "Select " + Replace(SqlStr, ",", " union all Select ")

6. Собственно, делаем вставку

db.Execute "INSERT INTO Temp (ID) " + SqlStr

Правда, не уверен, что эта ботва будет на акцессе работать. На MSSQL прокатит стопудово.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Использование Recordset’а в SQL-запросе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]