Поиск:

Ответ в темуСоздание новой темы Создание опроса
> фильтрация по дню рождения, в BDE Table 
:(
    Опции темы
Гость_Johnny M
Дата 12.8.2005, 22:13 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Привет. Хочу сделать фильтрацию сегодняшних именинников, но данный код не работает. Я уже воспользовался поиском по форуму - именно такой проблемы вроде никто не описывал - а мне нужна фильтрация по сегодняшнему дню и месяцу - без года


Код
procedure TForm3.Button1.Click(Sender: TObject);
var
  Present: TDateTime;
  Year, Month, Day: word;
begin
Present:= Now;
DecodeDate(Present, Year, Month, Day);
Table2.Filter:='Born_date = '+QuotedStr(inttostr(Day)+'.'+inttostr(Month)+'.'+'*');
Table2.Filtered:=true;
end;


Кто нибудь знает, где тут закопали собачку? smile

Это сообщение отредактировал(а) Girder - 12.8.2005, 22:20
  Вверх
Pakshin A. S.
Дата 12.8.2005, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 2
Всего: 61



Цитата
Кто нибудь знает, где тут закопали собачку?


http://forum.vingrad.ru/index.php?showforum=88
В специализированном форуме.

А СКУЛ чем не подходит?
PM   Вверх
Cashey
Дата 13.8.2005, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: нет
Всего: 60



Цитата(Pakshin @ 12.8.2005, 22:41)
http://forum.vingrad.ru/index.php?showforum=88
В специализированном форуме.

забавная ссылка smile ты бы еще такой линк дал бы: http://forum.vingrad.ru/index.php?showtopic=61283 smile
Цитата
Table2.Filter:='Born_date = '+QuotedStr(inttostr(Day)+'.'+inttostr(Month)+'.'+'*');

ну звездочек должно быть очевидно 4. Хотя и не уверен, что это поможет


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
SergeBS
Дата 14.8.2005, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

Репутация: 11
Всего: 22



Цитата
Ну вы, блин, даете!

Всего дел - вычисляемое поле (день + месяц в любом виде, лишь бы не их сумма smile ), а по этому полю - фильтр. Вроде прокатить должно. Попытка наставить звездочек в поле строки года - это просто не то. Совсем. Как дату можно со строкой сравнить без преобразования, а? Это как килограммы с километрами - всегда разные будут.
PM MAIL   Вверх
Johnny M
Дата 14.8.2005, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 21.4.2005

Репутация: нет
Всего: нет



Цитата(SergeBS @ 14.8.2005, 16:57)
(день + месяц в любом виде, лишь бы не их сумма  ), а по этому полю - фильтр. Вроде прокатить должно


по моему этот номер не пройдет. там ведь все таки тип Дата - вся закавыка возникает из за формата его представления - особенности написания первых 9 дней месяца и первых 9 месяцев - 01.05 к примеру. И при переводе в другое поле он будет переводиться как тип word или integer - то есть чило без нуля впереди...

Или я не прав? smile
PM MAIL   Вверх
bursa
Дата 15.8.2005, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 25.2.2005
Где: Липецк

Репутация: 1
Всего: 1



Procedure ...OnCalcField...
var s:string;
begin
s:=Query1.FieldByName('DATA').asString;
s:=s[1]+s[2]+s[4]+s[5];
Query1.FieldByName('CalcDATA').asString:=s;
end;

....
Query1.Filter:='CalcData='+.....


PM MAIL   Вверх
SergeBS
Дата 17.8.2005, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

Репутация: 11
Всего: 22



bursa
Блин, разжуй и в рот еще положи smile. Думатель отказал или просто не включен?
CalcDay - вычисляемое поле, DateFld - поле даты рождения, FilterStr - строка фильтра
procedure xxx.yyyy.OnCalcField;
begin
CalcDay := FormatDateTime('ddmm', DateFld);
end;
Где-то еще:
FilterStr := FormatDateTime('ddmm', now);
Куда эту строку впихнуть - тема домашнего задания. smile

PM MAIL   Вверх
bursa
Дата 17.8.2005, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 25.2.2005
Где: Липецк

Репутация: 1
Всего: 1



Цитата(SergeBS @ 17.8.2005, 15:41)
Думатель отказал или просто не включен?

smile
Прошу не вымахиваться.

PM MAIL   Вверх
SergeBS
Дата 17.8.2005, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

Репутация: 11
Всего: 22



Вдогонку: нафиг не надо поле DateFld преобразовывать лишний раз. Т.е. если поле DR в таблице UserNames - Date - дата рождения, то так и пишем:
CalcDay := FormatDateTime('ddmm',UserNames['DR']);
А способ со всякими s[1]... - от лукавого, ибо привязан к формату даты, принятому незнамо кем незнамо где на серваке и в системе. Нехай они сами меж собой и разбираются.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0503 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.