Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.06;
Скачать: CL | DM;

Вниз

фильтр в TTable по месяцам   Найти похожие ветки 

 
VicV   (2002-05-13 17:59) [0]

Помогите пожалуйста! Вот какой вопрос. В таблице есть поле с типом Дата. Необходимо выбрать записи за определенный месяц. (для каждого месяца в году. Каким образом можно этосделать?


 
Reindeer Moss Eater   (2002-05-13 18:37) [1]

...Where EXTRACT(MONTH from Дата) = Тра-ля-ля


 
VicV   (2002-05-13 19:39) [2]

Reindeer Moss Eater, прости тупого, не совсем (то есть совсем не понятно, что с этим делать)?


 
Desdechado ©   (2002-05-13 20:20) [3]

2 VicV
это к TQuery, SQL-запрос с указанным ограничением


 
Reindeer Moss Eater   (2002-05-14 08:21) [4]

>Vicv
Все записи всех январей:
Select * from MyTable
Where EXTRACT(MONTH from Дата) = 1


 
Johnmen ©   (2002-05-14 09:13) [5]

А если фильтр, то обрабатывать OnFilterRecord.


 
Reindeer Moss Eater   (2002-05-14 09:37) [6]

К сожалению в свойстве Filter нельзя использовать LocalSQL выражения, поэтому действительно, для TTable покатит только OnFilterRecord


 
Exp   (2002-05-14 18:11) [7]

If (ComboBox1.Text<>"") AND (ComboBox2.Text<>"") Then
begin
DateComboBox1:="01."+IntToStr(ComboBox1.ItemIndex+1)+"."+ComboBox2.Text;
DateComboBox2:=IntToStr(Datdm(ComboBox1.ItemIndex+1,StrToInt(ComboBox2.Text)))+"."+IntToStr(ComboBox1.ItemIndex+1)+"."+ComboBox2.Text;
DataMod.TableData.Filter:="(Date >= "+""""+DateComboBox1+""""+") AND (Date <= "+""""+DateComboBox2+""""+")";


 
Exp   (2002-05-14 18:11) [8]

If (ComboBox1.Text<>"") AND (ComboBox2.Text<>"") Then
begin
DateComboBox1:="01."+IntToStr(ComboBox1.ItemIndex+1)+"."+ComboBox2.Text;
DateComboBox2:=IntToStr(Datdm(ComboBox1.ItemIndex+1,StrToInt(ComboBox2.Text)))+"."+IntToStr(ComboBox1.ItemIndex+1)+"."+ComboBox2.Text;
DataMod.TableData.Filter:="(Date >= "+""""+DateComboBox1+""""+") AND (Date <= "+""""+DateComboBox2+""""+")";


 
Anatoly Podgoretsky ©   (2002-05-14 18:32) [9]

Exp (14.05.02 18:11)
Это не соответствует его условию, в Filter не возможно задать, только OnFilterRecord


 
Deniz ©   (2002-05-15 08:40) [10]

В TTable есть SetRange
или как написал Exp

Table1.Filter:=
"(DateField >= "01.04.2002") and (DateField < "01.05.2002")";

Выбирает весь АПРЕЛЬ.
Удачи.


 
Reindeer Moss Eater   (2002-05-15 08:46) [11]

А надо было ВСЕ апрели.


 
Deniz ©   (2002-05-15 09:34) [12]

Вообще в вопросе не совсем понятно, один месяц из 1 года или всех лет.
Лучше дождаться поправки Автора или закончить ветку.


 
Anatoly Podgoretsky ©   (2002-05-15 12:55) [13]

Reindeer Moss Eater (15.05.02 08:46)
И май и июни


 
VAleksey ©   (2002-05-15 15:09) [14]

Пиши в OnFilterRecord
var
Year1,month1,day1:word;
begin
DecodeDate(DataSet[DateField],Year1,month1,day1);
Accept:=month1 = NeedingMonthVar;
end
и наращиваещь это условие для выборки по нужным месяцам, годам и тп.



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

Текущий архив: 2002.06.06;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.01 c
3-17795
mad0max
2002-05-14 04:49
2002.06.06
Delphi 5.0 InterBase 6.0


1-17956
SPeller
2002-05-27 21:28
2002.06.06
Комилятор Дельфей


4-18184
Sirus
2002-04-03 15:30
2002.06.06
Форма в DLL... В чем ошибка???


3-17827
Archey
2002-05-12 20:31
2002.06.06
пошаговый поиск


3-17833
Elvira
2002-05-15 14:08
2002.06.06
BDE