Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.05.04;
Скачать: [xml.tar.bz2];

Вниз

как правильно задать фильтр   Найти похожие ветки 

 
ЛИЯ   (2008-04-09 11:03) [0]

Добрый день! Подскажите, пожалуйста, как правильно задать фильтр.
Я сделала так:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBClient, ComCtrls,
StdCtrls;

type
TForm1 = class(TForm)
ClientDataSet1: TClientDataSet;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
MonthCalendar1: TMonthCalendar;
Button1: TButton;
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
MonthCalendar1.Date := Now;
ClientDataSet1.Filter := FormatDateTime("dd/mm/yyyy",Now);
ClientDataSet1.Filtered := True;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
If not ClientDataSet1.Locate("Номер",Edit1.text,[]) then
begin
MessageDlg("Номер не найден!", mtError, [mbOK], 0);
Edit1.SetFocus;
end;
If ClientDataSet1.Locate("Номер",Edit1.text,[]) then
begin
DBGrid1.SetFocus;
end;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ClientDataSet1.post;
end;

procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
ClientDataSet1.edit;
ClientDataSet1.Fields[1].AsString := FormatDateTime("dd/mm/yyyy",Now);
end;

end.


При запуске выдает сообщение: "Project Project1.exe raised exception class EDatabaseError with message "Invalid filter expression character:".". Process stopped. Use Step or Run to continue."
А еще ругается при закрытие окна, если не внести изменения в таблицу.
Таблица простая, состоит всего из двух столбцов: номера и даты. Еще есть календарь MonthCalendar1. Хочу чтобы программа, при изменение даты в календаре, отображала в таблице только те данные, которые были внесены в базу именно в эту дату.
Все упирается в фильтр! Подскажите, если не сложно, как он пишется.
Заранее благодарнa!


 
Kolan ©   (2008-04-09 11:05) [1]

> ClientDataSet1.Filter := FormatDateTime("dd/mm/yyyy",Now)
> ;

Прочтите справку по этому свойству.


 
Плохиш ©   (2008-04-09 11:07) [2]


> procedure TForm1.FormCreate(Sender: TObject);
> begin
> MonthCalendar1.Date := Now;
> ClientDataSet1.Filter := FormatDateTime("dd/mm/yyyy",Now);
>
> ClientDataSet1.Filtered := True;
> end;

Вообще-то филтер обычно задаётся в формате <поле>=<значение>

> procedure TForm1.Button1Click(Sender: TObject);
> begin
> If not ClientDataSet1.Locate("Номер",Edit1.text,[]) then
> begin
> MessageDlg("Номер не найден!", mtError, [mbOK], 0);
> Edit1.SetFocus;
> end;
> If ClientDataSet1.Locate("Номер",Edit1.text,[]) then
> begin
> DBGrid1.SetFocus;
> end;
> end;

Хм, стоит справку по if прочитать, в частности, про словo else.


 
Плохиш ©   (2008-04-09 11:08) [3]


> филтер

Блин, долго смотрел на слово... потом понял, что оно означает :-)))



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

Форум: "Начинающим";
Текущий архив: 2008.05.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
2-1207582041
Artin
2008-04-07 19:27
2008.05.04
Несколько раюочих столов в Windowse. Как в Линуксе.


2-1207486169
dumka
2008-04-06 16:49
2008.05.04
Канва


15-1205936204
Игорь Шевченко
2008-03-19 17:16
2008.05.04
Новости CodeGear from Borland, 1-й квартал 2008 года


15-1206195589
NailMan
2008-03-22 17:19
2008.05.04
Хотел тут вот похвалиться обновой


2-1207548421
031178
2008-04-07 10:07
2008.05.04
Обновление таблички





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