powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / DAO.RecordSet Options
18 сообщений из 18, страница 1 из 1
DAO.RecordSet Options
    #32521559
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ тут столкнулся с тем что надо открыть RecordSet только для разового чтения... а там опций ууу... и все так классно документированы....
вроде бы dbOpenForwardOnly пондравилось, но я всегда делал rst.EOF и rst.BOF для проверки...
что присоветуете?
часть таблиц в mdb на серваке + на SQL Server, через ODBC законектился...
и вся ента байда в Access'e 97

Сделать можно всё!!!
Только бы знать как...
...
Рейтинг: 0 / 0
DAO.RecordSet Options
    #32521571
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я когда в DAO rs открываю только для чтения, то пропускаю все опции нафиг - не хай по дефолту ставит :)

Типа: Set rs = CurrentDB.OpenRecordSet(strSQL)

Хотя это мое, чисто субъективное, мнение (возможно я и не прав)
...
Рейтинг: 0 / 0
DAO.RecordSet Options
    #32521594
zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, ну если рекордсет для разового чтения, то, действительно, нехай все опции по дефолту ставятся, что мудрить-то...
...
Рейтинг: 0 / 0
DAO.RecordSet Options
    #32521727
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да просто это достаточно узкое место хотелось бы его максимально облегчить

Сделать можно всё!!!
Только бы знать как...
...
Рейтинг: 0 / 0
DAO.RecordSet Options
    #32521731
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Проверено:

1. dbOpenSnapshot не надо, даже если очень хочется; dbOpenDynaset бустрее. При этом dbOpenDynaset можно не писать, если это селект, и нужно писать, если это имя таблицы.

2. dbReadOnly (в следующем параметре) ускоряет жизнь.
...
Рейтинг: 0 / 0
DAO.RecordSet Options
    #32521736
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вроде работеает eof

Dim r As Recordset
Set r = CurrentDb.OpenRecordset("temp1", dbOpenForwardOnly)
Do Until r.EOF
MsgBox r.Fields(0)
r.MoveNext
Loop

и если есть записи, и если нет.
...
Рейтинг: 0 / 0
DAO.RecordSet Options
    #32521761
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ВС
спасибо за замечания, у меня запрос

2 Geo
EOF и должно работать...
но быстрее ли с dbOpenForwardOnly?
просто я упоминул про BOF & EOF я их использовал для определения есть ли записи в данном наборе...

Сделать можно всё!!!
Только бы знать как...
...
Рейтинг: 0 / 0
DAO.RecordSet Options
    #32521779
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это померять бы надо. Да на большом (очень) рекордсете, чтоб кэши не мешали.
...
Рейтинг: 0 / 0
DAO.RecordSet Options
    #32521834
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мдаа... не мешало бы... ну и хрен с ним... буду юзать вариант CB

Сделать можно всё!!!
Только бы знать как...
...
Рейтинг: 0 / 0
DAO.RecordSet Options
    #32522046
странно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторdbOpenSnapshot не надо, даже если очень хочется; dbOpenDynaset бустрее
?

а не в том ли сермяга, что dbOpenDynaset _визуально_ быстрее (асинхронник) выкидывается в форму, а dbOpenSnapshot получает все записи?

а если какая-то обработка курсором по всем полям, то dbOpenSnapshot могабыть и не хуже ?
...
Рейтинг: 0 / 0
DAO.RecordSet Options
    #32522064
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
странноа если какая-то обработка курсором по всем полям, то dbOpenSnapshot могабыть и не хуже ?надо считать Recordset в цикле в строку. в ТЗ не было дополнительных указаний...

Сделать можно всё!!!
Только бы знать как...
...
Рейтинг: 0 / 0
DAO.RecordSet Options
    #32522077
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 странно:

Нет, это проверялось на программе, которая открывала рекордсет, проходила по нему и закрывала его.
...
Рейтинг: 0 / 0
DAO.RecordSet Options
    #32522192
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да кстате доп вопрос в тему
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
With rst
    If Not (.EOF And .BOF) Then
      Do Until .EOF
        s = s & !Delivery & ";" & !ContractNr & ";" & !CustomerName & ";True;"
        rst.MoveNext
      Loop
    End If
  End With
проверка в if здесь избыточна?

Сделать можно всё!!!
Только бы знать как...
...
Рейтинг: 0 / 0
DAO.RecordSet Options
    #32522214
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Конечно. Если нет записей, то и проверки в Until достаточно.
...
Рейтинг: 0 / 0
DAO.RecordSet Options
    #32522252
Фотография Shark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>доп вопрос
Обычно перед циклом по рекордсет хочется сделать movefirst, а если нет записей, он вернет ашипку. Поэтому
If not (.Eof and .Bof) Then .MoveFirst
While not .eof
..
.movenext
wend
...
Рейтинг: 0 / 0
DAO.RecordSet Options
    #32522283
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
MoveFirst можно не делать. Если есть записи, то оно произойдет само.
...
Рейтинг: 0 / 0
DAO.RecordSet Options
    #32522295
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Он и так на 1ой записи находится...

Сделать можно всё!!!
Только бы знать как...
...
Рейтинг: 0 / 0
DAO.RecordSet Options
    #32522297
Фотография Shark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
От сервера зависит. Я всегда так пишу. Че на дядю надеятся, лучше самому сделать:-)
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / DAO.RecordSet Options
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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