|
|
|
Большие объемы данных в ADP project. Ошибки при отображении в форме.
|
|||
|---|---|---|---|
|
#18+
При отображении определенных сечений из большой таблицы насчитанных ранее данных иногда возникает проблема отображения. Сторка RecordSource формы формируется динамически. Туда записывются нужные where и order by. Пока все поля, попадающие в эти конструкции не сопадали с индексами таблицы, при открытии формы ACCESS всегда давала ошибку из-за истечения времени ожидания ODBC вызова. Переформулировал where и добавил нужные индексы. Вроде все заработало, порадовался. Ан нет, ошибка стала появляться при некоторых значениях полей в фильтрах. Какие есть идеи и трюки при ворочении большими объемами данных на SQL сервере через формы Access ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2004, 10:25:20 |
|
||
|
Большие объемы данных в ADP project. Ошибки при отображении в форме.
|
|||
|---|---|---|---|
|
#18+
что то странно если ADP то причем здесь ODBC ? используется OLEDB у конекшена есть свойство таймаут - его надо поставить 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2004, 10:30:12 |
|
||
|
Большие объемы данных в ADP project. Ошибки при отображении в форме.
|
|||
|---|---|---|---|
|
#18+
Да, не ODBC, дословный текст Err.Description "Время ожидания истекло". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2004, 10:36:53 |
|
||
|
Большие объемы данных в ADP project. Ошибки при отображении в форме.
|
|||
|---|---|---|---|
|
#18+
Выставить ConnectionTimeout = 0 у конекшена, если он создаётся заново., В "параметрах" Аксеса на закладке "другие" тоже есть парметры для времени ожидания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2004, 11:18:46 |
|
||
|
Большие объемы данных в ADP project. Ошибки при отображении в форме.
|
|||
|---|---|---|---|
|
#18+
Еще есть накладывающееся на конекта для форм свойство Сервис-Параметры-Другие-Время ожидания OLE/DDE Но оно относится не к проекту а к аксесу можно поменять его но это бывает неудобно если реч идет о сонтне другой юзеров тогда формы с тяжелыми запросами можно заполнять рекордсетом набранным через Command на который это свойство аксеса не распространяется Еще более изящным решением будет заполнять такой рекордсет асинхронно или по частям поскольку если тяжесть обусловлена большим кол-вом строк то юзер все равно не видит больше чем помещается на форму. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2004, 11:56:37 |
|
||
|
Большие объемы данных в ADP project. Ошибки при отображении в форме.
|
|||
|---|---|---|---|
|
#18+
Тяжесть решения обусловлена вот чем. Имеется иерархическая таблица: уровень-подуровень-подподуровень ... и т.д. Столбцы у нее - из самодельного сводного запроса: валюта1, валюта2 ... и т.д. А теперь представьте эту таблицу, умноженную на время - для каждого дня свой экземпляр данных. Эдакий OLAP своими руками. Благодаря тому, что кластерный PrimaryKey устроен в порядке: Дата (убыв), КодУровня1 (возрастан), КодУровня2 (возрастан), ..., то вариант формы где сначала выбирается дата из комбобокса, а затем для нее загружается таблица-дерево работает отлично. Если наоборот, сначала выбрать уровень, а затем показать для него изменение по всем датам - не фурычит. Если можно, поподробнее насчет асинхронной загрузки в формах Access. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2004, 13:15:09 |
|
||
|
Большие объемы данных в ADP project. Ошибки при отображении в форме.
|
|||
|---|---|---|---|
|
#18+
Есть пример у Гетца (да и в инете полно) В кратце примерно так 1)Объявляеш рекордсет(и/или конекшен) WithEvents 2)заполняя рекордсет указываеш опцию adAsyncExecute 3)отслеживая события дожидаешся завершения закачки (ибо только по завершении оной рекордсет можно будет к форме присобачить) по ходу дела на другом событии развлекаеш юзера (например прогресбоксом) паралельно делаеш чего хочеш 4) по завершению закачки присваиваеш свойству формы ссылку на полученный рекордсет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2004, 13:36:54 |
|
||
|
|

start [/forum/topic.php?fid=45&tid=1670892]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
40ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 191ms |
| total: | 301ms |

| 0 / 0 |
