Форум: "Базы";
Текущий архив: 2002.09.30;
Скачать: [xml.tar.bz2];
ВнизLookUp - поля с большими массивами информации Найти похожие ветки
← →
Макс (2002-09-10 14:36) [0]Есть справочная таблица с артикулами товаров ~160000 записей, естественно вся база ссылается на эту таблицу. Использую для этих целей LookUp поля. При старте программы этими артикулами заполняеся DataSource на который и ссылаются LookUp-ы и... при первой же прокрутке бегунка всё какчественно подвисает, я так подозреваю что сказываются объём инфы... Что посоветуете, уважаемые мэтры.
З.Ы. В работе активно используется библиотека EhLib
Всем заранее благодарен.
← →
Johnmen (2002-09-10 15:09) [1]Разве что реально получить все записи лукапного НД, и потом с ними работать...Это, конечно, займет некоторое время, зато выпадающие списки будут быстрыми...
← →
Макс (2002-09-10 15:14) [2]не совсем понял, можно по подробнее....
← →
Johnmen (2002-09-10 15:21) [3]Можно, но нужны подробности в вопросе...:)
(компоненты доступа, DataAware комп-ты, связки и т.д....)
← →
roottim (2002-09-10 15:22) [4]а вы что думали! раз и готово!
переделайте нафиг вашу программу...
точнее - формируйте запросы завязывающиееся с табл артикулов! и не используйте lookup... тем более как вы собирайтесь делать дальнейшие сортировки и тд и тп.
← →
Макс (2002-09-10 15:32) [5]связь с БД осуществляю посредтвом ADO
сама БД MSSQL 2000
в дата модуле моего приложения находится ADOQuery и соответственно DataSource, ADOQuery открывается при старте программы.
В дальноейшем на эти компоненты ссылаются TDBLookUpComboBoxEh.ListSource
TField.LookUpDataSet
← →
Макс (2002-09-10 15:36) [6]с удовольствием бы переделал, но есть вопросы связанные не только с просмотром но и с изменением данных, а соответсвенно выбора тех же самых артикулов из всего объема и подстановки их в связанные таблицы
← →
sniknik (2002-09-10 15:44) [7]160 000 товаров? интересно. у нас около 100 тысяч и почти смерть наступила. база это же не только справочник товаров но и накладные, z-отчеты, регистры, движение и т.д. И цифры повнушительнее получаются.
а у тебя 160 000 и только тормозит? всего-то.
правда у нас база на 1С :-((, многое обьясняет.
← →
Johnmen (2002-09-10 15:44) [8]Сделай, чтобы все записи НД, получаемого ADOQuery были реально получены (зафетчены) с сервера. Как это сделать для ADO - не скажу (не в курсе). Посмотри сам методы, применимые к ADOQuery.
← →
roottim (2002-09-10 15:45) [9]а это уже давно изьеденный вопрос!...
либо читайте, либо учитесь на своих ошибкахюю с опытом поймете как все просто :)
← →
Макс (2002-09-10 15:50) [10]2sniknik
она не тормозит - она висит, причем только LookUp компоненты и с ними связанное, DBGridEh прекрасно работает (правда притормаживая, но не вешается !!!)
2roottim
на своих ошибках ивестно кто учится :-)
а вот опытом можно было бы и поделиться, я думаю только бы спасибо сказали...
← →
roottim (2002-09-10 16:14) [11]парировал! молодец!...
простой пример
t1:
art number
name varchar2
t2:
id number
art number
price float
система грид-формаедит:
в грид
select t2.*, t1.name from t1,t2 where t2.art = t1.art
для редактирования записи нужна форма
в ней то и ставим dblookupcombobox
в общих чертах понятно?
← →
Макс (2002-09-10 16:32) [12]да вобщих то чертах не то что понятно, а именно так и делается, вот только в одельной форме для редактирования, где этот несчастный dblookupcombobox лежит, происходит такая бяка... этот dblookupcombobox просто подвисает основательно при попытке крутнуть бегунок...
← →
roottim (2002-09-10 16:46) [13]дык батенька чеж мы в сабж пишем что это LookUp-поле а не контрол!
ясен пень для такого количества нечего его использовать!
рядом с циферкой ставиш батон с [...] и открываеш форму со списком(гридом) выбираеш. нажиаеш на ней батон выбрать и производиш дальнейшие препарации!
← →
Макс (2002-09-10 16:51) [14]понял, спасибо...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.09.30;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.009 c