Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.009 c
1-17887
Arhangel
2002-05-27 11:07
2002.06.06
Drag&drop


8-18064
windy
2002-01-19 07:05
2002.06.06
BMP -> JPEG


1-17926
vlv
2002-05-27 20:33
2002.06.06
Проблема с TThread


3-17777
Катерина
2002-05-15 15:16
2002.06.06
Копироваие атрибутов поля


14-18116
Dimka Maslov
2002-04-24 17:49
2002.06.06
UBPFD Работает!




   Наверх