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.