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

Открыли 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
12.01.2004, 17:29
    #32373519
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Recordset’а в SQL-запросе
Никак
...
Рейтинг: 0 / 0
13.01.2004, 08:04
    #32373825
tpg
tpg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Recordset’а в SQL-запросе
Отчего же? Можно, но... тормоз обеспечен, да и есть ограничения.
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
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Использование Recordset’а в SQL-запросе / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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