Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Большие объемы данных в ADP project. Ошибки при отображении в форме. / 7 сообщений из 7, страница 1 из 1
22.10.2004, 10:25:20
    #32749744
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большие объемы данных в ADP project. Ошибки при отображении в форме.
При отображении определенных сечений из большой таблицы насчитанных ранее данных иногда возникает проблема отображения.

Сторка RecordSource формы формируется динамически. Туда записывются нужные where и order by. Пока все поля, попадающие в эти конструкции не сопадали с индексами таблицы, при открытии формы ACCESS всегда давала ошибку из-за истечения времени ожидания ODBC вызова.

Переформулировал where и добавил нужные индексы. Вроде все заработало, порадовался. Ан нет, ошибка стала появляться при некоторых значениях полей в фильтрах.

Какие есть идеи и трюки при ворочении большими объемами данных на SQL сервере через формы Access ?
...
Рейтинг: 0 / 0
22.10.2004, 10:30:12
    #32749760
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большие объемы данных в ADP project. Ошибки при отображении в форме.
что то странно

если ADP то причем здесь ODBC ? используется OLEDB

у конекшена есть свойство таймаут - его надо поставить 0
...
Рейтинг: 0 / 0
22.10.2004, 10:36:53
    #32749778
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большие объемы данных в ADP project. Ошибки при отображении в форме.
Да, не ODBC, дословный текст Err.Description "Время ожидания истекло".
...
Рейтинг: 0 / 0
22.10.2004, 11:18:46
    #32749886
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большие объемы данных в ADP project. Ошибки при отображении в форме.
Выставить ConnectionTimeout = 0 у конекшена, если он создаётся заново.,

В "параметрах" Аксеса на закладке "другие" тоже есть парметры для времени ожидания.
...
Рейтинг: 0 / 0
22.10.2004, 11:56:37
    #32750013
Latuk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большие объемы данных в ADP project. Ошибки при отображении в форме.
Еще есть накладывающееся на конекта для форм свойство
Сервис-Параметры-Другие-Время ожидания OLE/DDE
Но оно относится не к проекту а к аксесу
можно поменять его
но это бывает неудобно если реч идет о сонтне другой юзеров
тогда формы с тяжелыми запросами можно заполнять рекордсетом
набранным через Command на который это свойство аксеса не распространяется

Еще более изящным решением
будет заполнять такой рекордсет асинхронно
или по частям поскольку если тяжесть обусловлена большим кол-вом
строк то юзер все равно не видит больше чем помещается на форму.
...
Рейтинг: 0 / 0
22.10.2004, 13:15:09
    #32750310
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большие объемы данных в ADP project. Ошибки при отображении в форме.
Тяжесть решения обусловлена вот чем.

Имеется иерархическая таблица: уровень-подуровень-подподуровень ... и т.д. Столбцы у нее - из самодельного сводного запроса: валюта1, валюта2 ... и т.д.

А теперь представьте эту таблицу, умноженную на время - для каждого дня свой экземпляр данных. Эдакий OLAP своими руками.

Благодаря тому, что кластерный PrimaryKey устроен в порядке: Дата (убыв), КодУровня1 (возрастан), КодУровня2 (возрастан), ..., то вариант формы где сначала выбирается дата из комбобокса, а затем для нее загружается таблица-дерево работает отлично.

Если наоборот, сначала выбрать уровень, а затем показать для него изменение по всем датам - не фурычит.

Если можно, поподробнее насчет асинхронной загрузки в формах Access.
...
Рейтинг: 0 / 0
22.10.2004, 13:36:54
    #32750381
Latuk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большие объемы данных в ADP project. Ошибки при отображении в форме.
Есть пример у Гетца (да и в инете полно)

В кратце примерно так
1)Объявляеш рекордсет(и/или конекшен) WithEvents
2)заполняя рекордсет указываеш опцию adAsyncExecute
3)отслеживая события дожидаешся завершения закачки
(ибо только по завершении оной рекордсет можно будет к форме присобачить)
по ходу дела на другом событии развлекаеш юзера (например прогресбоксом)
паралельно делаеш чего хочеш
4) по завершению закачки присваиваеш свойству формы ссылку на полученный рекордсет
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Большие объемы данных в ADP project. Ошибки при отображении в форме. / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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