Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];

Вниз

Как произвести фильтр в отфильтрованном?   Найти похожие ветки 

 
49 Cent   (2006-01-24 21:50) [0]

Суть в следующем. С помощью ниже указанного кода, происходит фильтрация с ориентиром на выделенную ячейку в Dbgrideh. Т.е выделил я в Dbgrid в поле "Клиент" ЧП пупкин, нажал на кнопку и осталсись записи только Пупкина.

s:=dbgrideh1.SelectedField.FieldName;
s1:=dbgrideh1.SelectedField.AsString;

with ADOTable1 do begin
Filter := s+"=" + QuotedStr(s1);
Filtered := True;
end;

Задача заключается в том, чтобы произвести фильтрацию в отфильтрованном. Т.е, к примеру, оставил я только Пупкина и теперь мне необходимо в отфильтрованном оставить, к примеру, только отгруженные заказы этого клиента, для чего нужно произвести фильтр в соответсвующем поле "Отгрузка". Как выполнить данную задачу?


 
Desdechado ©   (2006-01-24 22:02) [1]

Filter := Filter + " AND " + допстрокафильтра


 
49 Cent   (2006-01-24 23:19) [2]

Я не очень понимаю, как использовать этот код на 1 кнопке. Т.е если у меня около 7 потенциальных полей, то получается мне надо использовать 6 +"And"+? И потом каждый раз кликая на определенном поле я с помощью указанного кода:
s:=dbgrideh1.SelectedField.FieldName;
s1:=dbgrideh1.SelectedField.AsString;
фиксирую только текущее поле и значение этого поля. Получается, чтобы проводить фильтр по профильтрованному, мне нужно постоянно фиксировать (запоминать) предыдущие поля и значения, которые использовались при первоначальной фильтрации? Как бы мне решить эту задачу? Не могли бы вы объяснить немного подробней?


 
Mike Kouzmine ©   (2006-01-24 23:52) [3]

49 Cent   (24.01.06 21:50)  Свяжи клиентов (не мазо) с операциями и они "автоматически" будут фильтроватся по клиентам. А уж там как хочешь.


 
49 Cent   (2006-01-25 00:43) [4]


>  Свяжи клиентов (не мазо) с операциями и они "автоматически"
> будут фильтроватся по клиентам.

Ээээ. Не очень понял. С какими операциями? И что такое "не мазо"? И потом задача не состоит в том, чтобы связать именно клиентов. Пример про Пупкина просто пример.


 
Mike Kouzmine ©   (2006-01-25 00:49) [5]

Клиенты
1 Вася Пупкин
2 Не Вася

Операции
1 Приход
2 Расход

Движение
1 1 123
2 1 23
1 2 144

делаешь мастер детаил связку по клиентам и движению, а потом просто тупо фильтруешь Движение


 
49 Cent   (2006-01-25 01:50) [6]

Я признаться очень не люблю такие моменты. Тебе объесняют, а ты тупишь. Кажется сейчас такой случай. Признаться первый раз слышу про мастер детаил связку. Может статьи какие есть? Или может найдутся добрые люди и объяснет как чайнику указанный Mike Kouzmine способ?


 
ЮЮ ©   (2006-01-25 03:15) [7]


> Получается, чтобы проводить фильтр по профильтрованному,
>  мне нужно постоянно фиксировать (запоминать) предыдущие
> поля и значения, которые использовались при первоначальной
> фильтрации?

Зачем? Всё это уже прописано в Filter. Тебе только остаётся  добавить новоу условие в фильтр
Filter := Filter + " AND " + допстрокафильтра [1]

Плюс кнопка очистки фильтра


 
Плохиш ©   (2006-01-25 11:11) [8]


> 49 Cent   (25.01.06 01:50) [6]
> Я признаться очень не люблю такие моменты. Тебе объесняют,
>  а ты тупишь.

Я что-то не совсем понял кто кому в этой ветке помогает :-)


 
Mike Kouzmine ©   (2006-01-25 13:39) [9]

49 Cent   (25.01.06 01:50) [6] Признаться первый раз слышу про мастер детаил связку

Не понял. Ты же с базой работаешь (типа аксесса), или я ошибся?. А о чем ты слышал?


 
49 Cent   (2006-01-25 15:25) [10]


> Зачем? Всё это уже прописано в Filter. Тебе только остаётся
>  добавить новоу условие в фильтр
> Filter := Filter + " AND " + допстрокафильтра

Просьба опять же не кидать тухлятиной, но допстрокафильтра, должна (как я понимаю) содержать имя поля и непосредственно строку по которой идет фильтр. Т.е если речь идет о фильтре сначала по одному полю, а затем по другому, то как я понимаю, необходим код типа такого:

> with ADOTable1 do begin
> Filter := s+"=" + QuotedStr(s1)+"And"+ ss+"=" + QuotedStr(ss1);
>
> Filtered := True;
> end;

, где s и ss имена полей по которым идет фильтр, а s1 и ss1 значения по которым идет фильтр. Так вот! В этой ситуации по любому надо фиксировать сначала первый фильтр (s и s1) и второй фильтр (ss и ss1). Или нет?


 
Desdechado ©   (2006-01-25 16:42) [11]

49 Cent   (25.01.06 15:25) [10]
> Просьба опять же не кидать тухлятиной,
ты тормоз?

> сначала по одному полю, а затем по другому

             |              |
             V             V
> Filter := Filter + " AND " + допстрокафильтра


 
Desdechado ©   (2006-01-25 16:43) [12]

все предыдущие фильтры у тебя уже в фильтре содержатся
тебе к нему осталось добавить новый кусок (допстроку)


 
49 Cent   (2006-01-25 17:52) [13]


> ты тормоз?

Космонавтом. :)

Анекдот есть такой:
-Мальчик как тебе зовут?
-тишина
- А сколько тебе лет?
- Гриша.
- А кем хочешь стать?
- 12
- Ты тормоз чтоли?
- Космонавтом
:)))))))

Всем спасибо за хелп, я понял.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.045 c
15-1137686859
mr.maloy
2006-01-19 19:07
2006.02.12
ПАМАГИТЕ!!! скоро ГЭК нужен эл учебник по дельфе от ФАРОНОВА


2-1138274042
Ell
2006-01-26 14:14
2006.02.12
Ошибка при попытке записи на read-only диск


15-1137501913
Yegorchic
2006-01-17 15:45
2006.02.12
Сотовый с ИК-портом...


4-1133526336
Kerk
2005-12-02 15:25
2006.02.12
Выбор ADO-провайдера


15-1137615030
DillerXX
2006-01-18 23:10
2006.02.12
Подскажите названия песен...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский