Topic: CheckBox в DateTimePicker странно работает

Здравствуйте.

Помогите разобраться в чем дело.

Имеем 2 кнопки. FindBtn и NoDateBtn. Каждая из которых выполняет одинаковый запрос с учетом даты или без учета даты. При нажатии каждой из кнопок все отрабатывает и отбирается.

По событию DateTimePicker_OnClick проверяем стоит ли галочка, и в зависимости от этого вызываю или  FindBtn_OnClick, или NoDateBtn_OnClick.

При вызове FindBtn_OnClick все работает.
При вызове NoDateBtn_OnClick НЕ работает. Не могу понять почему. Помогите разобраться, пожалуйста.

Запрос  FindBtn

SELECT
       Patients.id,
       "$autoinc",
       Patients.fam,
       Patients.name,
       Patients.otch,
       strftime('%d.%m.%Y', Patients.birthdate),
       Sex.sex,
       City.City,
       Patients.adr,
       strftime('%d.%m.%Y', Patients.start_uch_date),
       Uchet.vid_ucheta,
       Narko.Narko,
       strftime('%d.%m.%Y', Patients.end_uch_date)
FROM   Patients,
       Narko,
       City,
       Sex,
       Uchet
WHERE  Patients.fam Like "{Edit1}%"
AND    Patients.name Like "{Edit2}%"
AND    Patients.otch Like "{Edit3}%"
AND    Patients.birthdate = {DateTimePicker1}
AND    Patients.id_Sex=Sex.id
AND    Patients.id_Narko=Narko.id
AND    Patients.id_Uchet=Uchet.id
AND    Patients.id_City=City.id

Запрос NoDateBtn

SELECT
       Patients.id,
       "$autoinc",
       Patients.fam,
       Patients.name,
       Patients.otch,
       strftime('%d.%m.%Y', Patients.birthdate),
       Sex.sex,
       City.City,
       Patients.adr,
       strftime('%d.%m.%Y', Patients.start_uch_date),
       Uchet.vid_ucheta,
       Narko.Narko,
       strftime('%d.%m.%Y', Patients.end_uch_date)
FROM   Patients,
       Narko,
       City,
       Sex,
       Uchet
WHERE  Patients.fam Like "{Edit1}%"
AND    Patients.name Like "{Edit2}%"
AND    Patients.otch Like "{Edit3}%"
AND    Patients.id_Sex=Sex.id
AND    Patients.id_Narko=Narko.id
AND    Patients.id_Uchet=Uchet.id
AND    Patients.id_City=City.id

Скрипт

var
  DateCheckState: boolean;

procedure MainForm_DateTimePicker1_OnClick (Sender: string);
begin
  if DateCheckState=false then DateCheckState:=true
    else DateCheckState:=false;

 if DateCheckState=false then MainForm_NoDateBtn_OnClick('',false);
 if DateCheckState=true then MainForm_FindBtn_OnClick('',false;
end;

begin
    DateCheckState:=false;
    MainForm.DateTimePicker1.Checked:=false;
    MainForm.DateTimePicker1.Date:=StrToDate('05.06.1985');
end.

Re: CheckBox в DateTimePicker странно работает

Приветствую,


С чем связано использование поиска через SQL запрос?
Судя по вашим SQL запросам, они являются простыми, и для поиска достаточна будет кнопки с действием "Поиск", где вы просто выбираете необходимые компоненты, в которых будут критерии поиска и поля из таблиц, которые нужны в результате поиска.


Можете прислать свой проект на support@drive-software.com
постараюсь помочь.

Dmitry.

Re: CheckBox в DateTimePicker странно работает

С чем связано использование поиска через SQL запрос?

Нужен поиск с нестрогим совпадением "%".

Re: CheckBox в DateTimePicker странно работает

У компонента TextBox есть свойство Filter, выберите  в нем значение %s%

Dmitry.

Re: CheckBox в DateTimePicker странно работает

DriveSoft wrote:

У компонента TextBox есть свойство Filter, выберите  в нем значение %s%

Хорошо, спасибо. Я попробую.

Я отправил вам проект на почту, посмотрите в чем проблема? Уж очень любопытно ))