Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Медленно удаляются (и создаются) объекты в форме  [new]
Volan
Member

Откуда:
Сообщений: 79
Здравствуйте
У меня аксесс 2002 файл mdb

Есть форма в которой при нажатии на кнопку запускается прога удаляющая все элементы из другой формы а затем создающая набор других. Так вот во первых код

DoCmd.OpenForm strDocName, acDesign, , , , acHidden
Set frm = Forms(strDocName)
For Each ctrlm In frm.Controls
DeleteControl frm.Name, ctrlm.name
Next

Удаляет не все элементы а по какому-то одному ему изестному алгоритму

приходится делать так: сначала слить в коллекцию все имена элементов а потом их удалить

DoCmd.OpenForm strDocName, acDesign, , , , acHidden
Set frm = Forms(strDocName)
For Each ctrlm In frm.Controls
ctrlNamesToDelete.Add ctrlm.Name
Next
For n = 1 To ctrlNamesToDelete.Count
DeleteControl frm.Name, ctrlNamesToDelete(n)
Next

И самое неприятное этот просцесс занимает несколько секунд. При количестве элементов 20...40.
Создание элементов командой
Set ctrlm = CreateControl(strDocName, acLabel, , , "")
для 20...40 элементов тоже выполняется несколько секунд.

Вопрос. Есть ли способ ускорить этот процесс?

Вариант который работает: создать заранее все поля с избытком затем расставлять им атрибуты "видимость" и "местоположение", но уж больно некрасивое решение.
30 янв 06, 14:16    [2300887]     Ответить | Цитировать Сообщить модератору
 Re: Медленно удаляются (и создаются) объекты в форме  [new]
NG
Member

Откуда: Екатеринбург
Сообщений: 1492
А если создать заранее все нужные варианты, то сколько форм получится?
30 янв 06, 14:40    [2301027]     Ответить | Цитировать Сообщить модератору
 Re: Медленно удаляются (и создаются) объекты в форме  [new]
Volan
Member

Откуда:
Сообщений: 79
Форма 1.Но на на ней будет избыток полей с Visible=False
30 янв 06, 15:25    [2301304]     Ответить | Цитировать Сообщить модератору
 Re: Медленно удаляются (и создаются) объекты в форме  [new]
NG
Member

Откуда: Екатеринбург
Сообщений: 1492
Кажется Вы меня не поняли.
Сейчас Вы программно управляете видимостью и положением контролов.
Но имеет право на существование и другой подход, когда каждый из вариантов существует в виде готовой формы, где есть только нужные контролы в нужных местах. Остается вызвать нужный вариант формы.
+ программированимя минимум;
+ быстро грузится;
+ легко правится;
- занимает больше места.
30 янв 06, 15:41    [2301422]     Ответить | Цитировать Сообщить модератору
 Re: Медленно удаляются (и создаются) объекты в форме  [new]
Volan
Member

Откуда:
Сообщений: 79
Тогда несколько тысяч. Увы не подойдет
30 янв 06, 15:46    [2301465]     Ответить | Цитировать Сообщить модератору
 Re: Медленно удаляются (и создаются) объекты в форме  [new]
bubucha
Member

Откуда:
Сообщений: 5642
Несколько тысяч вариантов одной формы? Страшно подумать, что это за база...
30 янв 06, 15:55    [2301542]     Ответить | Цитировать Сообщить модератору
 Re: Медленно удаляются (и создаются) объекты в форме  [new]
NG
Member

Откуда: Екатеринбург
Сообщений: 1492
Volan
Тогда несколько тысяч. Увы не подойдет

Тогда желаю Вам успехов с программированием!
30 янв 06, 15:59    [2301572]     Ответить | Цитировать Сообщить модератору
 Re: Медленно удаляются (и создаются) объекты в форме  [new]
Volan
Member

Откуда:
Сообщений: 79
База как база, но вариантов действительно много.
Честно говоря я вообще не люблю делать варианты одной формы, через некоторое время приходится менять что-то базовое, и тогда это надо проделать во всех формах вручную - вечно что-нибудь забудешь.
В программировании этой формы ничего сложного нет. Вопрос только один: можно ли создание элементов программным образом ускорить? Может есть другой путь, кроме известного мне, который указан в первом сообщении.
30 янв 06, 16:10    [2301677]     Ответить | Цитировать Сообщить модератору
 Re: Медленно удаляются (и создаются) объекты в форме  [new]
NG
Member

Откуда: Екатеринбург
Сообщений: 1492
Альтернативный ответ это когда америкацы, обнаружив что шариковая ручка не пишет в космосе, вбухивают в разработку новой ручки миллионы долларов, а русские берут в космос карандаш.

Из анекдота. Говорят канадского.


В моем понимании не укладывается несколько тысяч вариантов формы. Сознание протестует! А кто подумает о бедных юзерах? Когда они сумеют адаптироваться к этому? Тут явно что-то не то.
Попробуйте описать зачем Вам столько вариантов. Может быть простой ответ лежит рядом, только надо его увидеть.
30 янв 06, 16:24    [2301814]     Ответить | Цитировать Сообщить модератору
 Re: Медленно удаляются (и создаются) объекты в форме  [new]
bubucha
Member

Откуда:
Сообщений: 5642
Мне кажется, автор пытается создать некий универсальный класс для работы с таблицами. Другого оправдания такому кол-ву модификаций формы мне не придумать.
30 янв 06, 16:27    [2301849]     Ответить | Цитировать Сообщить модератору
 Re: Медленно удаляются (и создаются) объекты в форме  [new]
Volan
Member

Откуда:
Сообщений: 79
to bubucha наверное можно выразится и так.
Задача следующая. База данных содержит данные по контрольно-измерительной технике. проще приборы. Их несколько тысяч все они разбиты на категории и группы. Так что юзеру легко выбрать нужный ему прибор. Дальше открывается форма (та самая одна универсальная) в которой выводится картинка прибора, пояснения, списки сопутствующих аксессуаров и т.д. а главное там формируются столбцы из групп переключателей по количеству параметров в приборе.

например (просто пример) прибор АМПЕРМЕТР содержит 3 критерия: корпус, предел, класс точности. Каждый критерий имеет свой набор параметров (для класса точнсти это 1; 2,5;5 и т.д.) Пользователь расставляя галочки в группах однозначно определяет какой прибор ему нужен.
Кстати еще пример, есть такой прибор: измеритель ТРМ-138 он имеет 8 критериев по 6 вариантов выбора в каждом это дает 1679616 комбинаций. вывалить такую таблицу юзеру мол пусть выберет :-).

Вот собственно и вся задача.
P.S. Поля со списками вместо групп выбора не подходят по удобству пользования.
30 янв 06, 17:06    [2302147]     Ответить | Цитировать Сообщить модератору
 Re: Медленно удаляются (и создаются) объекты в форме  [new]
альтернатива
Guest
Volan
...Может есть другой путь, кроме известного мне, который указан в первом сообщении.


если целевая форма независимый грид - просто использовать OpenQuery.
В общем-то, приблизительно для этого он и предназначен.

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

если это однострочный формуляр ввода - рассмотреть вариант динамической генерации асп-страницы.

для однострочного формуляра можно еще попробовать прикрутить форму из
Microsoft Forms 2.0 (fm20.dll)

наверно уже осмысленно в каких-то случаях прикрутить нетовый модуль для подобной цели.
30 янв 06, 17:12    [2302188]     Ответить | Цитировать Сообщить модератору
 Re: Медленно удаляются (и создаются) объекты в форме  [new]
bubucha
Member

Откуда:
Сообщений: 5642
автор
База данных содержит данные по контрольно-измерительной технике

Хорошо бы знать структуру, как хранятся параметры приборов?
30 янв 06, 17:16    [2302210]     Ответить | Цитировать Сообщить модератору
 Re: Медленно удаляются (и создаются) объекты в форме  [new]
Volan
Member

Откуда:
Сообщений: 79
асп страницы... К сожалению я их только планировал изучать.
В файле снимок формы.

К сообщению приложен файл. Размер - 0Kb
30 янв 06, 17:33    [2302310]     Ответить | Цитировать Сообщить модератору
 Re: Медленно удаляются (и создаются) объекты в форме  [new]
NG
Member

Откуда: Екатеринбург
Сообщений: 1492
Задача понятна. Не понятен Ваш подход к ее решению. В частности
автор
а главное там формируются столбцы из групп переключателей по количеству параметров в приборе.

А использовать списки/поля со списками не пробовали? После установки значений, включая <любой>, нажать на кнопочку и отобрать нужные записи.
Еще настоятельно рекомендую использовать TreeView для перемещения по группам и категориям.

автор
Дальше открывается форма (та самая одна универсальная) в которой выводится картинка прибора, пояснения, списки сопутствующих аксессуаров и т.д.


Именно в таком порядке, а не наоборот, как у вас.
Итого получается:
1) форма для настройки фильтра;
2) форма для отборанных записей;
3) форма отображающая одну запись, выбранную во второй форме, для отображения:
- картинка прибора,
- пояснения,
- списки сопутствующих аксессуаров и т.д.).

В примере, прикрепленном к посту, при выборе конкретного товара в дереве в правой части формы отображается вся информация об этом товаре.
Успехов!

К сообщению приложен файл. Размер - 0Kb
30 янв 06, 17:44    [2302380]     Ответить | Цитировать Сообщить модератору
 Re: Медленно удаляются (и создаются) объекты в форме  [new]
Volan
Member

Откуда:
Сообщений: 79
TreeView я действительно использую для перемещения по категориям и группам (см файл)

Поля со списками использовать неудобно с точки зрения ПОЛЬЗОВАТЕЛЯ-ЗАКАЗЧИКА (для программиста было бы проще согласен) Уже это писал. тут такой момент, при установке галочек заказчикам в остальных группах часть флажков становится неактивной, т.е. от его выбора зависит дальнейшие предложения.

Количество модификаций для одного прибора (до применения фильта) может быть 1600000 многовато для вывода в табличной форме.

Мои действия такие
1-Выбор пользователем группы товаров см текущий файл
2- Установка модификации выбранного прибора. см предыдущий файл

К сообщению приложен файл. Размер - 0Kb
30 янв 06, 18:06    [2302524]     Ответить | Цитировать Сообщить модератору
 Re: Медленно удаляются (и создаются) объекты в форме  [new]
bubucha
Member

Откуда:
Сообщений: 5642
Из представленных скриншотов, не совсем понятна схема данных, где хранятся параметры приборов -в отдельной таблице? Или в таблице приборовов, или как еще?
31 янв 06, 10:19    [2303812]     Ответить | Цитировать Сообщить модератору
 Re: Медленно удаляются (и создаются) объекты в форме  [new]
Volan
Member

Откуда:
Сообщений: 79
Собственно вопрос то в топике был про другое. есть ли более быстрый способ создания контролов программным путем.

А схема данных вот она. (основная ее часть)
Таблицы категория, группа, прибор это понятно
Таблица "справочник" содержит названия критериев для каждого прибора
Таблица "поля" содержит варианты каждлго критерия.

К сообщению приложен файл. Размер - 0Kb
31 янв 06, 14:35    [2305404]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить