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

Magnus
...
Рейтинг: 0 / 0
22.03.2005, 22:10:50
    #32974882
Чудик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос начинающего о работе с рекодсетом
Типа того.
Сам запрос в более полной форме выглядит так:
sSQL = "SELECT*FROM Prihod WHERE Name=MyProduct;"
где MyProduct является переменной, содержащей наименование продукции.
Из БД видется выборка по продукции из списка и затем проводится работа с данными (сложение, вычитание т.п.), обратная запись в БД. Потом нужно взять следующее наименование продукции из списка и обработать его данные тоже и т.д.
Если постоянно открывать и закрывать рекодсет - это ведет к замедлению работы проги. Пытаюсь обойти. не хватает знаний в этой области.
...
Рейтинг: 0 / 0
23.03.2005, 09:19:10
    #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
23.03.2005, 14:35:23
    #32976289
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос начинающего о работе с рекодсетом
Можно, но в зависимости от количества записей, в возвращаемом наборе, могут начаться проблемы со скоростью. Если их немного то вариант фильтрования идеален.

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

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


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