powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос начинающего о работе с рекодсетом
6 сообщений из 6, страница 1 из 1
Вопрос начинающего о работе с рекодсетом
    #32974847
Чудик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делаю так:
sSQL = "SELECT*FROM Prihod;"
Set rs = db.OpenRecordset(sSQL)
а далее работаю с полученными данными. Но, в ходе работы необходимо менять запрос (sSQL).
Так, как я делаю, понимаю, что меняя SQL запрос, мне нужно соответсвенно закрыть рекодсет, изменить SQL запрос, а затем опять открыть рекодсет. Это не совсем good.
Можно ли открыть рекодсет один раз и, не закрывая его, изменять SQL запрос столько раз, сколько будет нужно?
...
Рейтинг: 0 / 0
Вопрос начинающего о работе с рекодсетом
    #32974855
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нельзя. Изменение запроса(смотря как) теоретически означает изменение струкруры возвращаемого "ответа" ( :) набора ).
Ширше изложи задачу. ПОдозреваю что тебе нужнои реализовать нечто вроде фильтров?

Magnus
...
Рейтинг: 0 / 0
Вопрос начинающего о работе с рекодсетом
    #32974882
Чудик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Типа того.
Сам запрос в более полной форме выглядит так:
sSQL = "SELECT*FROM Prihod WHERE Name=MyProduct;"
где MyProduct является переменной, содержащей наименование продукции.
Из БД видется выборка по продукции из списка и затем проводится работа с данными (сложение, вычитание т.п.), обратная запись в БД. Потом нужно взять следующее наименование продукции из списка и обработать его данные тоже и т.д.
Если постоянно открывать и закрывать рекодсет - это ведет к замедлению работы проги. Пытаюсь обойти. не хватает знаний в этой области.
...
Рейтинг: 0 / 0
Вопрос начинающего о работе с рекодсетом
    #32975214
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
sSQL = "SELECT*FROM Prihod;"
Set rs = db.OpenRecordset(sSQL)
'цикл по продуктам
rs.Filter = "Name=MyProduct"
'необходимые действия
...
rs.Filter = "Name=MyProduct1"
'необходимые действия
...
...
Рейтинг: 0 / 0
Вопрос начинающего о работе с рекодсетом
    #32976289
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно, но в зависимости от количества записей, в возвращаемом наборе, могут начаться проблемы со скоростью. Если их немного то вариант фильтрования идеален.

Собственно, ничего плохо, в повторном открытии рекордсета, не вижу. Жизнь у него такая - открываться и закрываться, для того и был создан. Разницы при работе ты не заметишь.

Magnus
...
Рейтинг: 0 / 0
Вопрос начинающего о работе с рекодсетом
    #32977374
Чудик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, в самом деле на скорость не влияет - я имею в виду частое открытие/закрытие рекодсета.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос начинающего о работе с рекодсетом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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