Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2010, 13:17   #1
Maxvella
Пользователь
 
Регистрация: 06.12.2010
Сообщений: 16
Вопрос фильтр данных по указанному периоду в dbgrid

Здрасти все!!!!
У меня как всегда вопрос?????
Можно ли отфильтровать данный по указанному периоду в dbgrid????
Maxvella вне форума Ответить с цитированием
Старый 07.12.2010, 13:58   #2
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Фильтруете вы не грид а DataSet (которым может быть table, Query, ClientDataSet). а грид ваш только отображает данные из DataSet. Если не трудно выложите ваш проект, посмотрим может тогда станет всё ясно
SERG1980 вне форума Ответить с цитированием
Старый 07.12.2010, 14:13   #3
Maxvella
Пользователь
 
Регистрация: 06.12.2010
Сообщений: 16
По умолчанию

По полю "Дата операции" необходимо произвести выборку данных от и до и все.

SERG1980 Вам респект и зачет!!!

А может сделать цикл который будет проверять данные в таблице с указанным периодом. если данные будут меньше или ровны интервалу, то будут помещаться во временную таблицу??? За счет преобразования строки в целочисленное значение...
Изображения
Тип файла: jpg 01.JPG (56.7 Кб, 146 просмотров)
Тип файла: jpg 02.JPG (43.2 Кб, 92 просмотров)

Последний раз редактировалось Stilet; 07.12.2010 в 16:56.
Maxvella вне форума Ответить с цитированием
Старый 07.12.2010, 14:40   #4
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,762
По умолчанию

для отображения данных за какойто период (да и по любому другому условию), можно использовать WHERE если это запрос, или свойства TDataset такие как Filter и Filtered, также можно проверять записи на соответствие используя событие ONFilterRecord TDataSet.
vovk вне форума Ответить с цитированием
Старый 07.12.2010, 14:44   #5
Maxvella
Пользователь
 
Регистрация: 06.12.2010
Сообщений: 16
По умолчанию

Скажите пожалуйста, есть какой-нибудь пример.....?
Maxvella вне форума Ответить с цитированием
Старый 07.12.2010, 14:51   #6
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,762
По умолчанию

в стандартном хелпе есть описание. На форуме литература в разделе читать тут.

из хелпа

Цитата:
Свойства, обеспечивающие фильтрацию набора данных
Класс TDataSet

Определения
property Filter: string;
property Filtered: Boolean;

Описание
Фильтрация задается свойствами Filter, Filtered и FilterOptions.
При наличии фильтра доступными становятся только те записи, поля которых удовлетворяют условиям фильтрации. Свойство Filtered включает или выключает использование фильтра. Свойство FilterOptions задает опции фильтрации. А сам фильтр записывается в свойство Filter в виде строки, содержащей определенные ограничения на значения полей. Например, значение Filter

Dep='Цех 1'

при Filtered = true, обеспечивает отображение только тех записей, в которых поле Dep имеет значение "Цех 1". В условиях сравнения строк можно использовать символ звездочки "*", который как в обычных шаблонах означает: "любое количество любых символов". Например, фильтр

Dep='Цех*'

приведет к отображению всех записей, в которых значение поля Dep начинается с "Цех". Но для того, чтобы это сработало, надо, чтобы в опциях, содержащихся в свойстве FilterOptions, была выключена опция foNoPartialCompare, запрещающая частичное совпадение при сравнении.

При записи условий можно использовать операции отношения =, >, >=, <, <=, <>, а также логические операции and, or и not. Например, вы можете написать фильтр

(Dep='Цех 1')and(Year_b<=1970)and(Year_b>=194 0)

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

При фильтрации пустые записи пропускаются, если только их появление не указано в фильтре явным образом, как в следующем примере:

Dep='Цех*' or Dep = NULL

Фильтрация на удаленных таблицах SQL и в клиентских наборах данных поддерживает сравнение полей. Например:

Field1 > Field2

Эта операция не поддерживается в локальных таблицах (Paradox, dBASE, Access, FoxPro).
vovk вне форума Ответить с цитированием
Старый 07.12.2010, 14:54   #7
Maxvella
Пользователь
 
Регистрация: 06.12.2010
Сообщений: 16
По умолчанию

Спасибо!!!
Maxvella вне форума Ответить с цитированием
Старый 07.12.2010, 16:11   #8
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Посмотрел ваши картинки. Вот у вас там есть dbgrid, чтобы в этом гриде отображались данные у вас должен быть компонент DataSourсe у которого есть св-во DataSet. скажите что у вас используется в роли DataSet. Тогда можно будет сделать фильтр или запрос

Последний раз редактировалось SERG1980; 07.12.2010 в 16:14.
SERG1980 вне форума Ответить с цитированием
Старый 07.12.2010, 16:19   #9
Maxvella
Пользователь
 
Регистрация: 06.12.2010
Сообщений: 16
По умолчанию

Используется ClientDataSet
Maxvella вне форума Ответить с цитированием
Старый 08.12.2010, 08:03   #10
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Повторю пост с другой вашей темы
Код:
Form1.ClientDataSet.Params.AddParam(Form1.ClientDataSet.Params.CreateParam(ftDateTime,'d1',ptInput));
Form1.ClientDataSet.Params.AddParam(Form1.ClientDataSet.Params.CreateParam(ftDateTime,'d2',ptInput));
Form1.ClientDataSet.Params.ParamByName('d1').AsDate:=DateTimePicker1.Date;
Form1.ClientDataSet.Params.ParamByName('d2').AsDate:=DateTimePicker2.Date;
Form1.ClientDataSet.CommandText:='SELECT * FROM Стамеска WHERE [Дата операции] BETWEEN :d1 AND :d2';
Form1.ClientDataSet.Execute;
SERG1980 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фильтр данных grichanuk Microsoft Office Excel 4 18.11.2009 12:41
Фильтр в DBGrid big_big Общие вопросы Delphi 0 27.06.2009 20:09
Фильтр в заголовке DBGrid vrb БД в Delphi 3 16.04.2009 22:34
фильтр в DBGrid ГОСЕАН БД в Delphi 10 09.02.2008 12:51
фильтр в dbgrid ГОСЕАН БД в Delphi 2 24.12.2007 15:14