Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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.012 c
1-82314
AndB
2003-09-12 05:51
2003.09.25
uses Windows, Forms, Menus, ... частично?


3-82156
freeman2003
2003-09-03 16:38
2003.09.25
Не выполняется хранимая процедура на SQL server из delphi


3-82042
Sheng
2003-09-06 08:18
2003.09.25
Проблема со временем


3-82094
Фикус
2003-09-04 14:56
2003.09.25
dbf -> interbase


1-82243
alextim
2003-09-11 19:52
2003.09.25
Как сделать чтобы форма открывалась внутри панели





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