|
|
|
DAO.RecordSet Options
|
|||
|---|---|---|---|
|
#18+
Народ тут столкнулся с тем что надо открыть RecordSet только для разового чтения... а там опций ууу... и все так классно документированы.... вроде бы dbOpenForwardOnly пондравилось, но я всегда делал rst.EOF и rst.BOF для проверки... что присоветуете? часть таблиц в mdb на серваке + на SQL Server, через ODBC законектился... и вся ента байда в Access'e 97 Сделать можно всё!!! Только бы знать как... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 10:26 |
|
||
|
DAO.RecordSet Options
|
|||
|---|---|---|---|
|
#18+
Я когда в DAO rs открываю только для чтения, то пропускаю все опции нафиг - не хай по дефолту ставит :) Типа: Set rs = CurrentDB.OpenRecordSet(strSQL) Хотя это мое, чисто субъективное, мнение (возможно я и не прав) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 10:34 |
|
||
|
DAO.RecordSet Options
|
|||
|---|---|---|---|
|
#18+
Не, ну если рекордсет для разового чтения, то, действительно, нехай все опции по дефолту ставятся, что мудрить-то... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 10:42 |
|
||
|
DAO.RecordSet Options
|
|||
|---|---|---|---|
|
#18+
да просто это достаточно узкое место хотелось бы его максимально облегчить Сделать можно всё!!! Только бы знать как... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 11:27 |
|
||
|
DAO.RecordSet Options
|
|||
|---|---|---|---|
|
#18+
Проверено: 1. dbOpenSnapshot не надо, даже если очень хочется; dbOpenDynaset бустрее. При этом dbOpenDynaset можно не писать, если это селект, и нужно писать, если это имя таблицы. 2. dbReadOnly (в следующем параметре) ускоряет жизнь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 11:31 |
|
||
|
DAO.RecordSet Options
|
|||
|---|---|---|---|
|
#18+
вроде работеает eof Dim r As Recordset Set r = CurrentDb.OpenRecordset("temp1", dbOpenForwardOnly) Do Until r.EOF MsgBox r.Fields(0) r.MoveNext Loop и если есть записи, и если нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 11:33 |
|
||
|
DAO.RecordSet Options
|
|||
|---|---|---|---|
|
#18+
2 ВС спасибо за замечания, у меня запрос 2 Geo EOF и должно работать... но быстрее ли с dbOpenForwardOnly? просто я упоминул про BOF & EOF я их использовал для определения есть ли записи в данном наборе... Сделать можно всё!!! Только бы знать как... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 11:42 |
|
||
|
DAO.RecordSet Options
|
|||
|---|---|---|---|
|
#18+
Это померять бы надо. Да на большом (очень) рекордсете, чтоб кэши не мешали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 11:51 |
|
||
|
DAO.RecordSet Options
|
|||
|---|---|---|---|
|
#18+
мдаа... не мешало бы... ну и хрен с ним... буду юзать вариант CB Сделать можно всё!!! Только бы знать как... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 12:10 |
|
||
|
DAO.RecordSet Options
|
|||
|---|---|---|---|
|
#18+
авторdbOpenSnapshot не надо, даже если очень хочется; dbOpenDynaset бустрее ? а не в том ли сермяга, что dbOpenDynaset _визуально_ быстрее (асинхронник) выкидывается в форму, а dbOpenSnapshot получает все записи? а если какая-то обработка курсором по всем полям, то dbOpenSnapshot могабыть и не хуже ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 13:16 |
|
||
|
DAO.RecordSet Options
|
|||
|---|---|---|---|
|
#18+
странноа если какая-то обработка курсором по всем полям, то dbOpenSnapshot могабыть и не хуже ?надо считать Recordset в цикле в строку. в ТЗ не было дополнительных указаний... Сделать можно всё!!! Только бы знать как... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 13:22 |
|
||
|
DAO.RecordSet Options
|
|||
|---|---|---|---|
|
#18+
2 странно: Нет, это проверялось на программе, которая открывала рекордсет, проходила по нему и закрывала его. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 13:26 |
|
||
|
DAO.RecordSet Options
|
|||
|---|---|---|---|
|
#18+
да кстате доп вопрос в тему Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Сделать можно всё!!! Только бы знать как... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 14:00 |
|
||
|
DAO.RecordSet Options
|
|||
|---|---|---|---|
|
#18+
Конечно. Если нет записей, то и проверки в Until достаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 14:06 |
|
||
|
DAO.RecordSet Options
|
|||
|---|---|---|---|
|
#18+
>доп вопрос Обычно перед циклом по рекордсет хочется сделать movefirst, а если нет записей, он вернет ашипку. Поэтому If not (.Eof and .Bof) Then .MoveFirst While not .eof .. .movenext wend ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 14:14 |
|
||
|
DAO.RecordSet Options
|
|||
|---|---|---|---|
|
#18+
MoveFirst можно не делать. Если есть записи, то оно произойдет само. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 14:22 |
|
||
|
DAO.RecordSet Options
|
|||
|---|---|---|---|
|
#18+
Он и так на 1ой записи находится... Сделать можно всё!!! Только бы знать как... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 14:26 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1628&tid=1674552]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 362ms |

| 0 / 0 |
