|
FAQ: Как избавиться от подтверждений на удаление и т.п., или что лучше DoCmd.Run
|
|||
---|---|---|---|
#18+
Сейчас не скажу - 2000-го под рукой нету. Дома посмотрю, если трезвый буду. Но про .Refresh Гетц говорит, что в этом случае в 2000-м он работать не будет. Да и в 2002 не всегда работает, даже с установленным MDAC 2.8 и сервиспаками. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2005, 15:11 |
|
FAQ: Как избавиться от подтверждений на удаление и т.п., или что лучше DoCmd.Run
|
|||
---|---|---|---|
#18+
ыСейчас не скажу - 2000-го под рукой нету. Дома посмотрю, если трезвый буду. Но про .Refresh Гетц говорит, что в этом случае в 2000-м он работать не будет. Да и в 2002 не всегда работает, даже с установленным MDAC 2.8 и сервиспаками. ладно, если смогу и не забуду - тоже посмотрю дома... до опыта - думаю, что у обоих фрагментов одинаковые шансы на успех. (в первом то рефрешь скрытый есть - и он либо работает либо нет...) <...тут что-то было размазано...> надо бы сравнить поведение на соединениях, образованных не через Set присвоение, а на новых: Set cnn= New ADODB.Connection 'cnn.CursorLocation=adUseClient cnn.ConnectionString=CurrentProject.Connection.ConnectionString cnn.Open With cmd .CommandText = "ИмяПроцедуры" .CommandType = adCmdStoredProc Set .ActiveConnection = cnn .Parameters.Refresh For Each p In .Parameters Debug.Print p.Name Next ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2005, 15:33 |
|
FAQ: Как избавиться от подтверждений на удаление и т.п., или что лучше DoCmd.Run
|
|||
---|---|---|---|
#18+
я вот еще о чем подумал А2000 писался в расчете на MDAC2.5 + SQL7 в такой паре рефрешу жить тяжело, если вообще возможно - имена параметров все равно деть некуда - ели и "освежит", имена придется переприсвоить... очень может быть, что указанная особенность собственно к акцессу отношение имеет как луна к яичнице. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2005, 15:49 |
|
FAQ: Как избавиться от подтверждений на удаление и т.п., или что лучше DoCmd.Run
|
|||
---|---|---|---|
#18+
2 Саныч - замечание снято (с выражением...) ---------------------------------------------- посмотрел на refresh смотрел через A2000 9.0.4402 SR1 VBA 6.3.8863 version 9108 MDAC 2.8 ADP SQL2K SP3 стандартная ссылка на ADO 2.1 скелет кода Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40.
результаты наблюдений 1) именованный параметр извлекается независимо от того, открыта или закрыта строка кода CallByName tCommand, "NamedParameters", VbLet, True (документация по адо по существу требует установки этого параметра для установки обращений по именам, - наверно лучше его установить - у меня результат не зависел него ) 2) не получилось увидеть зависимость от .ActiveConnection = cNN .ActiveConnection = CurrentProject.Connection Set .ActiveConnection = что-нибудь. (тут ничего не утверждаю) 3) Если явный рефреш не заказан, то восстановление параметров происходит при первом обращении к параметру по имени или по номеру - это не важно. 4) на моей проце рефреш оказался практически вдвое дороже, чем ее исполнение (1,1955 и 0,6201 по QueryPerformanceCounter ), а на первом исполнении - много дороже. так что явное формирование параметров - хороший совет (там была выборка единственной строки из джойна 5000х100 по индексированным полям, так что нагрузки нет) 5) рефреш исполняет sp_procedure_params_rowset Пока склонен думать, что если с версией MDAC все в порядке И в системных таблицах базы нет мусора И с master database тоже все в порядке, то как будто нет причин не работать рефрешу. (с выражением лица) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2005, 03:36 |
|
FAQ: Как избавиться от подтверждений на удаление и т.п., или что лучше DoCmd.Run
|
|||
---|---|---|---|
#18+
Victosha2 Саныч - как всегда, ОЧ.КАРАШО!! Я не автор. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2005, 17:52 |
|
FAQ: Как избавиться от подтверждений на удаление и т.п., или что лучше DoCmd.Run
|
|||
---|---|---|---|
#18+
Владимир Саныч Victosha2 Саныч - как всегда, ОЧ.КАРАШО!! Я не автор. скажем так - это общая оценка результата вообще, и того, что получилось из последних обсуждений в частности. В этой последней части от авторства формулировок, по крайней мере, не отнекаешся. то есть - Ы (типа большой палец) :)) про замечания автор Set rs = .Execute(, , adExecuteNoRecords) 'adExecuteNoRecords - можно и не указывать, если в процедуре стоит Set NoCount ON "по книжкам" - adExecuteNoRecords для того, чтобы Command возвращал Nothing вместо Recordset - при этом это указание именно клиентской части (АДО) а Set NoCount ON - указание SQL Server-у не гонять по сети print-сообщений о количестве обработанных записей. как указание/неуказание одного может влиять на другое? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2005, 01:13 |
|
|
start [/forum/topic.php?fid=45&msg=32889637&tid=1668945]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 283ms |
total: | 413ms |
0 / 0 |