Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-98072
NightCon
2002-09-19 13:10
2002.09.30
Вычисления с TDateTime


1-98037
JSX
2002-09-18 23:27
2002.09.30
Компоненты


3-97984
Кракен
2002-09-08 16:13
2002.09.30
Добавить поле в конец бызы


1-98068
Лана Розанова
2002-09-19 08:14
2002.09.30
Handle


1-98038
Юрий К
2002-09-18 21:05
2002.09.30
Запись динамического массива в файл





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский