powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как использовать Recordset?
10 сообщений из 10, страница 1 из 1
Как использовать Recordset?
    #39546466
Настаев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Допустим, я сделал такой запрос к данным:
Код: vbnet
1.
Set rst = CurrentDb.OpenRecordset(сложный_запрос)



Теперь я могу сделать цикл по записям, чтобы их прочесть
Но я не хочу цикл. Я хочу использовать данные из рекордсета для обновления другой таблицы.
Например:
Код: vbnet
1.
UPDATE Товары LEFT JOIN [rst] ON Товары.код = [rst].код_товара Set...



Так можно?
...
Рейтинг: 0 / 0
Как использовать Recordset?
    #39546470
\\\\
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Настаев, нет
...
Рейтинг: 0 / 0
Как использовать Recordset?
    #39546472
Настаев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
\\\\,

Ясно, спасибо
...
Рейтинг: 0 / 0
Как использовать Recordset?
    #39546473
Настаев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос в догонку

Если при подключении recordseta используются формулы, будут ли они вычисляться снова и снова, когда я будут просить из него данные?
Например:
Код: vbnet
1.
цена = rst!цена
...
Рейтинг: 0 / 0
Как использовать Recordset?
    #39546476
\\\\
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Настаев, ИМХО, нет, не будут, ты же уже получил набор записей. Для верности сделай его статичным.

Для увеличения скорости чтения записи данных используй не коллекцию полей ( Fields ) рекордсета, а не документированный метод Collect , правда по названиям обращаться не получится, только по номеру
Код: vbnet
1.
2.
3.
...
rst1.Collect(0)=rst2.Collect(0)
...
...
Рейтинг: 0 / 0
Как использовать Recordset?
    #39546481
Настаев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
\\\\,

Спасибо, я попробую. Думаю, это мне пригодится
...
Рейтинг: 0 / 0
Как использовать Recordset?
    #39546926
Фотография Focha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НастаевДопустим, я сделал такой запрос к данным:
Код: vbnet
1.
Set rst = CurrentDb.OpenRecordset(сложный_запрос)



Теперь я могу сделать цикл по записям, чтобы их прочесть
Но я не хочу цикл. Я хочу использовать данные из рекордсета для обновления другой таблицы.
Например:
Код: vbnet
1.
UPDATE Товары LEFT JOIN [rst] ON Товары.код = [rst].код_товара Set...



Так можно?
можно генерить sql и результат rst добавлять как переменную.
...
Рейтинг: 0 / 0
Как использовать Recordset?
    #39547047
JavaStudent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Настаев, А что мешает писать сразу :

StrSQL = "INSERT INTO aRaces SELECT races.* FROM Races WHERE keyraces=" & key

baza.Execute StrSQL
...
Рейтинг: 0 / 0
Как использовать Recordset?
    #39547101
Настаев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JavaStudentНастаев, А что мешает писать сразу :

StrSQL = "INSERT INTO aRaces SELECT races.* FROM Races WHERE keyraces=" & key

baza.Execute StrSQL

мешает то, что я не могу выполнять команду baza.execute в фоновом режиме. А получить рекордсет могу. Но в рекордсете можно делать только выборку. Думаю, было бы хорошо, если бы данные из рекордсета можно было прикрутить как какому-то запросу.
...
Рейтинг: 0 / 0
Как использовать Recordset?
    #39547392
Настаев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
\\\\Для увеличения скорости чтения записи данных используй не коллекцию полей ( Fields ) рекордсета, а не документированный метод Collect , правда по названиям обращаться не получится, только по номеру
Код: vbnet
1.
2.
3.
...
rst1.Collect(0)=rst2.Collect(0)
...


Спасибо, я так и сделал. Всё работает. Только уточню, что нумерация полей начинается с нуля (может, кому-то пригодится)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как использовать Recordset?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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