![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 29.01.2009
Сообщений: 411
|
![]()
Здравствствуйте. Прошу помощи. Задача следующая. Есть БД в Access. в бд таблица с наличием товара. товар находиться на разных складах (всего 5 складов). поиск товара выполняется запросом (типа 'SELECT * FROM наличие WHERE наименование="ручка"'). один и тот же товар содержиться на разных складах. Необходимо сделать следующее. Если товар содержиться на складе№1, то отображать только его. если товара нет или количество=0, то отображать наличие на складе№2, если нет на складе№2, то отображать на складе №3-5, если нет в наличие нигде показывать все нулевые записи. Должна быть возможность выборки отображаемых данных. т.е. стоят чекбоксы (отображать на складе№2, отображать на складе№3, отображать все записи).
Используются компоненты: AdoConnection, AdoQuery, DataSource, DbGridEh. Каким способомлучше сделать отображение данных? Через фильтры или формировать запросы? До этого было только одно условие (отображать или нет нулевые записи) делал с помощью фильтра Код:
Спасибо. |
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,210
|
![]() Цитата:
![]() Код:
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 29.01.2009
Сообщений: 411
|
![]()
Запросом долго получается. потому-что выборка данных выполняется из большой таблицы по нескольким критериям. (около 5-10 сек.)
В DBGridEh есть свойство STFilter. можно ли им управлять программно? |
![]() |
![]() |
![]() |
#4 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
![]()
запросом быстрее
просто ты "не умеешь его готовить" (с) про криво спроектированную БД говорить не будем. но вот индексы стОит прикрутить |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 29.01.2009
Сообщений: 411
|
![]()
Запрос на выборку данных выглядит следующим образом:
Код:
|
![]() |
![]() |
![]() |
#6 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
![]()
чота скобочек лишних полно
но речь не про них 1)главный тормоз запроса на первый взгляд это поиск по всей таблице, который ты провоцируешь вот таким фильтром Код:
Код:
может имеет смысл делать предварительный поиск для показа возможных вариантов по данному полю? т.е. будет просто мелкий запросец с таким негуманным условием, но по одному полю 2) второй тормоз - дофига OR |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Прошу помочь с макросами для выборки определенных данных по нескольким критериям | rdt | Microsoft Office Excel | 6 | 30.07.2010 13:12 |
Реализация структуры данных | Nata_student_nik | Помощь студентам | 3 | 17.03.2010 08:52 |
реализация линейных структур данных в подпрограммах | ArniLand | Общие вопросы C/C++ | 0 | 31.01.2010 01:20 |
Автоматизированное копирование данных выборки автофильтра на другой лист при помощи кнопки | outstrip | Microsoft Office Excel | 0 | 12.08.2009 11:28 |
[C] Абстрактные типы данных. Реализация дерева общего вида. | Dju | Помощь студентам | 0 | 11.05.2009 18:11 |