Форум: "Потрепаться";
Текущий архив: 2003.09.25;
Скачать: [xml.tar.bz2];
ВнизПомогите с филтрацией по двум критериям Найти похожие ветки
← →
Karnegi (2003-09-04 12:26) [0]Подскажите пожалуста как мне сделать так чтобы фильтровало по двум значениям например: У кого сумма меньше 100 рублей и кому меньше 18 лет.
Почему то этот фильтр выдает ошибку
procedure TForm1.RadioButton1Click(Sender: TObject);
begin
Table1.Filter:="Summa<0" and "vozrast<18" ;
Table1.filtered:=true;
end;
"[Error] Unit1.pas(293): Operator not applicable to this operand type"
← →
stone (2003-09-04 12:31) [1]Table1.Filter:="Summa<0 and vozrast<18" ;
← →
Karnegi, (2003-09-04 12:37) [2]stone © (04.09.03 12:31) [1]
спасибо огромное получилось
← →
Karnegi, (2003-09-04 12:43) [3]Stone а скажи пожалуста как сделать так чтобы допустим фильтровало у кого дата кончилась. Например
Table1.Filter:="Konec < "+FormatDateTime("ddddd", Date());
Table1.Filtered:=True;
етот фильтр у меня выдает ошибку: Invalid expression
character:"."
Описание поля у меня в базе стоит Alpha
← →
stone (2003-09-04 12:46) [4]< здесь не подходит. Alpha - это строчное поле.
ЗЫ. Бесплатный совет: читай побольше литературы.
← →
Karnegi, (2003-09-04 12:48) [5]Значит не получится? Для него обязательно чтобы описание было было Date?
← →
MsGuns (2003-09-04 12:48) [6]Приводи в фильтре к типу поля таблицы.
Кроме того, почитай еще о событии OnFilterRecord
← →
Karnegi, (2003-09-04 12:49) [7]Привет MsGuns, а как привести?:))
← →
stone (2003-09-04 12:55) [8]
> MsGuns © (04.09.03 12:48)
Что ты, не советуй ему этого ради бога!!! Если там строка, то (хрен знает чего она может содержать и в каком виде, чувствую, что так это и есть) для правильного приведения ее к дате ИИ создавать придется :))
← →
Karnegi, (2003-09-04 12:58) [9]У меня в этом поле даты заполнены в таком виде, например 04.09.03
← →
stone (2003-09-04 13:04) [10]
> Karnegi, (04.09.03 12:58)
для дат существует специальный тип данных
ЗЫ. Больше моих постов в твои ветки не будет, пока не начнешь читать и осмысливать.
← →
MsGuns (2003-09-04 13:04) [11]Тебе нужно преобразовать текущую дату в строку - вот и преобразовывай (DateToStr).
← →
NickBat (2003-09-04 13:05) [12]> в таком виде, например 04.09.03
информативно. :)))
← →
Zacho (2003-09-04 13:06) [13]Ну, например, так:
Table1.Filter:="Konec < "+#39+FormatDateTime("ddddd", Date())+#39;
P.S. Все-таки почитай какую-нибудь литературу.
← →
Karnegi, (2003-09-04 13:07) [14]Зачем преобразовывать, если у меня описание поля Alpha а не Date, наверняка он воспринимает ее сразу как строку?
← →
Karnegi, (2003-09-04 13:08) [15]Zacho а #39 ето что значит?
← →
Sandman25 (2003-09-04 13:09) [16][14] Karnegi, (04.09.03 13:07)
Если сравнивать как строки, то 01.12.03 окажется меньше, чем 10.01.01.
А если как даты, то правильно.
Присоединяюсь к советам по поводу книги.
← →
Zacho (2003-09-04 13:10) [17]
> Karnegi, (04.09.03 13:08) [15]
А попробуй, например, ShowMessage(#39); - и узнаешь.
← →
Karnegi, (2003-09-04 13:11) [18]Я бы поменял описание поля с Alpha на Date только у меня много дат уже внесено а менять их все их просто нереально
← →
Smashich (2003-09-04 13:12) [19]2 Karnegi,
почитай книжку.
← →
Sandman25 (2003-09-04 13:13) [20][18] Karnegi, (04.09.03 13:11)
Стирай всю БД, прочти пару книг и спроектируй все заново.
Все равно то, что ты сейчас напишешь, работать не будет. Во всяком случае быстро и правильно.
← →
Karnegi, (2003-09-04 13:14) [21]Заместо того чтобы давать советы книжки почитать уже бы давно подсказали
← →
MsGuns (2003-09-04 13:16) [22]В св-ве Table.Filter строка должна быть указана по правилам SQL
В данном случае образцы указываются так:
Where Konec="30.09.02" для даты
Where Konec=100 для целого
Where Konec=3.62 для вещественного
и т.д.
Так как тф этоу строку формируешь программно, то все это выражение (кроме where - для фильтра его не надо указывать) надо брать в кавычки, т.е.
Filter := "Konec="+QuotedStr("30.09.02"); для даты
Filter := "Konec=100"; для целого
Filter := "Konec=3.62"; для вещественного
Когда ты уже будешь читать и думать сам ? Еще пара детских вопросов и я поступлю как stone © (04.09.03 13:04) [10]
← →
Smashich (2003-09-04 13:16) [23]Karnegi, (04.09.03 13:11) [18]
и это можно. создай поле дату. и в цикле. берешь alpha поле. преобразуешь в дату. записывашешь в date поле. код ес-сно не дам.
← →
Zacho (2003-09-04 13:17) [24]
> Karnegi, (04.09.03 13:14) [21]
Ну я уже давно подсказал, и что ?
← →
MsGuns (2003-09-04 13:19) [25]>Karnegi, (04.09.03 13:14) [21]
Если у тебя в БД дата хранится символьно в формате "дд.мм.гг", то самое время
1) Smashich © (04.09.03 13:12) [19]
2) Sandman25 © (04.09.03 13:13) [20]
← →
Smashich (2003-09-04 13:20) [26]> MsGuns © (04.09.03 13:16) [22]
> Когда ты уже будешь читать и думать сам ? Еще пара детских вопросов и я поступлю как stone © (04.09.03 13:04) [10]
поддерживаю
← →
Karnegi, (2003-09-04 13:23) [27]Ну не все же такие умные как вы
MsGuns а где это прописать Filter := "Konec="+QuotedStr("30.09.02");
← →
Sandman25 (2003-09-04 13:23) [28]Karnegi
И не надо на нас обижаться. Ты же поступил учиться на программиста, если я правильно понял. Так вот и становись им. Без книг это никак не получится, а форумы нужны, чтобы людям помогать, а не все за тебя делать.
← →
Karnegi, (2003-09-04 13:25) [29]Я не обижаюсь просто мне надо побыстрей ее доделать чтобы отдать, вот я и обращаюсь к вам за помошью
← →
MsGuns (2003-09-04 13:31) [30]>Karnegi, (04.09.03 13:23) [27]
>Ну не все же такие умные как вы
MsGuns а где это прописать Filter := "Konec="+QuotedStr("30.09.02");
Table1.Filter
для этого вовсе не надо быть умным, а просто внимательным
ЗЫ. Вопрос номер раз (осталось 1)
← →
Karnegi, (2003-09-04 13:37) [31]MsGuns © (04.09.03 13:31[30]
Когда я пишу Filter := "Konec="+QuotedStr("30.09.02") в table1.filter Он ошибку выдает: "Table1 field "Filter" not found"
← →
Karnegi, (2003-09-04 13:40) [32]то есть я выбираю компонент Table1 потом в инспекторе обьектов в Filter вставляю то что ты мне сказал, и выдает ошибку см выше
← →
Smashich (2003-09-04 13:41) [33]Table1.Filter:="Konec="+QuotedStr("30.09.02")
удачи. брось ты это программирование.
← →
Zacho (2003-09-04 13:41) [34]
> Karnegi, (04.09.03 13:40) [32]
О Боже !
А подумать немного ?
Не в инспекторе объектов, а в программе !
← →
Karnegi, (2003-09-04 13:43) [35]Smashich я конечно не такой умный как ты, но пойми это моя первая БД, откуда мне знать все эти тонкости что куда писать
← →
MsGuns (2003-09-04 13:44) [36]>Karnegi, (04.09.03 13:37) [31]
>MsGuns © (04.09.03 13:31[30]
>>Когда я пишу Filter := "Konec="+QuotedStr("30.09.02") в table1.filter Он ошибку выдает: "Table1 field "Filter" not found"
!!!!!!!!!!
Что ж ты тупо копируешь из одного окна в другое !
Фраза должна быть такой:
Table1.Filter := "Konec="+QuotedStr(DateToStr(Now()));
← →
MsGuns (2003-09-04 13:48) [37]Клоун, ПОЧИТАЙ ХЭЛП ПО:
a)ttable
b)tquery
c)Local SQL,
блииииииииииннннн ;((((((((((
← →
Zacho (2003-09-04 13:50) [38]Не, хелп здесь не поможет. Для начала нужен любой (хоть самый примитивный) учебник по Pascal
← →
Karnegi, (2003-09-04 13:51) [39]MsGuns не злись, поймите вы все что это моя программа до этого я вообще никогда не програмировал, что мне надо сразу чтоли гением быть перед тем как содится проги писать
← →
Smashich (2003-09-04 13:52) [40]2 Karnegi,
>(04.09.03 13:43) [35] >Smashich я конечно не такой умный как ты, но пойми это моя первая БД, откуда мне знать все эти тонкости что куда писать.
ты тут интересовался зачем форумы? задай себе вопрос зачем книги.
Страницы: 1 2 3 4 5 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.09.25;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.017 c