Главная страница
    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.005 c
15-1206100907
Bober_crazy
2008-03-21 15:01
2008.05.04
Простейший вопрос по PHP


15-1205827501
Montero
2008-03-18 11:05
2008.05.04
Ричард Столлмен против Веб 2.0


2-1207560659
AndrewG
2008-04-07 13:30
2008.05.04
InterBase 6.5


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


2-1207717907
Layner
2008-04-09 09:11
2008.05.04
Помогите конвернтнуть UTF8 в Win1251





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