Topic: Прошу помощи!

Всем доброго времени суток. Начал пользоваться программй недавно. Планируем приорести.
Вопрос вот в чем - возможно ли реализовать фильтрацию через чекбокс, т.е.:
- есть текстбокс(контрагент) = в нем набирается текст (фильтрация %s) установлена, что бы отображалось в будущем не по всему вхождению;
- есть датагрид (таблица собранная с данными)
- есть чекбокс (2 нажатия)

возможно ли реализовать след - Если пользователь вводит данные в текстбокс с включенным чекбоксом датагрид отображало имя контрагента. и если отключить чек бокс, то показывал бы все данные

если нужна будет программа, напишите.

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

с Ув. Андрей

Re: Прошу помощи!

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


Приложите пожалуйста ваш проект (zip файл без exe и dll), постараюсь помочь.

Dmitry.

Re: Прошу помощи!

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

Dmitry.

Re: Прошу помощи!

Сорри. frmContracts - TableGrid1, *2,*3...  соответсвенно в 3 вкладках.
Можете подсказать , что не так:
procedure frmContracts_TableGrid1_OnChange (Sender: string);
    var
        i,c: integer;
    begin
        frmContracts.TableGrid1.BeginUpdate;
        c := frmContracts.TableGrid1.RowCount - 1;
        for i := 0 to c do
    begin
       if (frmContracts.TableGrid1.Cells[7,i]) = (frmContracts.TableGrid1.Cells[11,i]) then frmContracts.TableGrid1.Cell[11,i].Color := clLime;
       if (frmContracts.TableGrid1.Cells[7,i]) < (frmContracts.TableGrid1.Cells[11,i]) then frmContracts.TableGrid1.Cell[11,i].Color := clYellow;
       if (frmContracts.TableGrid1.Cells[7,i]) > (frmContracts.TableGrid1.Cells[11,i]) then frmContracts.TableGrid1.Cell[11,i].Color := clRed;
    end;
        frmContracts.TableGrid1.EndUpdate;
end;

последнее условие не срабатывает.

с ув. Андрей

с Ув. Андрей

Re: Прошу помощи!

andrey.yugay wrote:

Вопрос вот в чем - возможно ли реализовать фильтрацию через чекбокс, т.е


можно так

procedure frmContracts_TableGrid1_OnChange (Sender: string);
begin
    frmContracts.TableGrid1.Columns[3].Visible := not frmContracts.CheckBox1.Checked;
    frmContracts.TableGrid1.Columns[4].Visible := not frmContracts.CheckBox1.Checked;
    frmContracts.TableGrid1.Columns[5].Visible := not frmContracts.CheckBox1.Checked;
    frmContracts.TableGrid1.Columns[6].Visible := not frmContracts.CheckBox1.Checked;
    frmContracts.TableGrid1.Columns[7].Visible := not frmContracts.CheckBox1.Checked;
    frmContracts.TableGrid1.Columns[8].Visible := not frmContracts.CheckBox1.Checked;
    frmContracts.TableGrid1.Columns[9].Visible := not frmContracts.CheckBox1.Checked;
    frmContracts.TableGrid1.Columns[10].Visible := not frmContracts.CheckBox1.Checked;
    frmContracts.TableGrid1.Columns[11].Visible := not frmContracts.CheckBox1.Checked;
    frmContracts.TableGrid1.Columns[12].Visible := not frmContracts.CheckBox1.Checked;
    frmContracts.TableGrid1.Columns[13].Visible := not frmContracts.CheckBox1.Checked;
    frmContracts.TableGrid1.Columns[14].Visible := not frmContracts.CheckBox1.Checked;
    frmContracts.TableGrid1.Columns[15].Visible := not frmContracts.CheckBox1.Checked;
    frmContracts.TableGrid1.Columns[16].Visible := not frmContracts.CheckBox1.Checked;
    frmContracts.TableGrid1.Columns[17].Visible := not frmContracts.CheckBox1.Checked;
end;


еще вопрос... на 4 вкладке, добавил стандартные выгрузки в excel и фильтр по заводам, есть ли возможность собирать данные с 3 таблиц в одну, если можно пример.

в этом случае придеться использовать кнопку с действием "SQL запрос"


необходимо составить SQL запрос используя команду UNION ALL,  чтобы собрать данные из нескольких таблиц, но количество столбцов указанных в SQL запросе должно быть одинаковым для каждой таблицы: пример

SELECT textr FROM tabone 
UNION ALL
SELECT textl FROM tabtwo
UNIAL ALL
SELECT textl FROM tabthree

подробней http://info-comp.ru/obucheniest/340-sql … n-all.html


также вам пригодится этот пример, как реализовать фильтрацию в SQL запросе
http://myvisualdatabase.com/forum/misc. … download=1



Можете подсказать , что не так:
procedure frmContracts_TableGrid1_OnChange (Sender: string);

свойство Cells возвращает текст,
попробуйте получать значение ячейки так

frmContracts.TableGrid1.Cell[7,0].AsInteger
Dmitry.

Re: Прошу помощи!

Дмитрий, спасибо огромное. Буду разбираться.

с Ув. Андрей

7 (edited by andrey.yugay 2017-08-22 13:10:05)

Re: Прошу помощи!

Дмитрий, подскажите пожалуйста.
Есть два текстбокса Код станции и Наименование станции.
Есть отдельная таблица (№, Наименование станции, Код станции)
Можно ли реализовать поиск по вводу кода станции (в текстбоксе)? - результат наименование станции (в текстбокс)?

Post's attachments

Attachment icon 2017-08-22_190406.jpg 6.22 kb, 332 downloads since 2017-08-22 

с Ув. Андрей

Re: Прошу помощи!

andrey.yugay wrote:

Дмитрий, подскажите пожалуйста.
Есть два текстбокса Код станции и Наименование станции.
Есть отдельная таблица (№, Наименование станции, Код станции)
Можно ли реализовать поиск по вводу кода станции (в текстбоксе)? - результат наименование станции (в текстбокс)?


пример:

procedure Form1_edKodStation_OnChange (Sender: string);
begin
    Form1.edNameStation.Text := SQLExecute('SELECT nameStation FROM tablename WHERE KodStation = '+Form1.edKodStancii.sqlValue );
end;
Dmitry.

9 (edited by andrey.yugay 2017-08-24 08:56:35)

Re: Прошу помощи!

можно так
procedure frmContracts_TableGrid1_OnChange (Sender: string);
begin
    frmContracts.TableGrid1.Columns[3].Visible := not frmContracts.CheckBox1.Checked;
    frmContracts.TableGrid1.Columns[4].Visible := not frmContracts.CheckBox1.Checked;
    frmContracts.TableGrid1.Columns[5].Visible := not frmContracts.CheckBox1.Checked;
    frmContracts.TableGrid1.Columns[6].Visible := not frmContracts.CheckBox1.Checked;
...

Доброго дня, Дмитрий,
это не совсем то. Оно скрывает колонки, а мне нужно фильтрация внутри таблицы по данным.
т.е.
Chekbox2.checked = true then
              Контрагент (Edit1) при вводе данных, сразу фильтровал в таблице (TableGrid1);
Checkbox2. cheked = false then
              Показать все записи;

Можете подсказать как это реализовать? И как можно будет реализовать по фильту по дате

с Ув. Андрей

с Ув. Андрей

Re: Прошу помощи!

это не совсем то. Оно скрывает колонки, а мне нужно фильтрация внутри таблицы по данным.
т.е.
Chekbox2.checked = true then
              Контрагент (Edit1) при вводе данных, сразу фильтровал в таблице (TableGrid1);
Checkbox2. cheked = false then
              Показать все записи;

Можете подсказать как это реализовать? И как можно будет реализовать по фильту по дате

с Ув. Андрей

Возможно не совсем понял, но чтобы показать все записи, можно просто нажать кнопку Поиск при пустом Edit1, т.е. если нет критериев для поиска.

Dmitry.

Re: Прошу помощи!

Дмитрий, доброго,
да. так и сделал. добавил к нужным полям поиск кнопку (на контрагент добавил инкрементный поиск), так удобнее, хоть и немного затратнее по времени. просчет идет медленно.

с Ув. Андрей

12 (edited by andrey.yugay 2017-08-26 19:18:45)

Re: Прошу помощи!

Дмитрий, извините, что беспокою в выходной день.
Столкнулся со странной ошибкой:

List index out of bounds (1) при следующих процедурах:
Подскажите пожалуйста, что делаю не так

//Закрашивание по условию
procedure frmContracts_TableGrid1_OnChange (Sender: string; Action: string);
    var
        i,c: integer;
    begin
        frmContracts.TableGrid1.BeginUpdate;
        c := frmContracts.TableGrid1.RowCount - 1;
        for i := 0 to c do
            begin
               if    frmContracts.TableGrid1.Cells[18,i] = 'Да' then frmContracts.TableGrid1.Cell[2,i].TextColor := clRed;
               if    frmContracts.TableGrid1.Cells[18,i] = 'Yes' then frmContracts.TableGrid1.Cell[2,i].TextColor := clRed;
               if    frmContracts.TableGrid1.Cells[14,i] = '' then frmContracts.TableGrid1.Cell[14,i].Color := clWhite
               else if    StrToFloat(frmContracts.TableGrid1.Cells[14,i]) = 0 then frmContracts.TableGrid1.Cell[14,i].Color := $008238
               else if    StrToFloat(frmContracts.TableGrid1.Cells[14,i]) = 0 then frmContracts.TableGrid1.Cell[14,i].Color := $008238
               else if    StrToFloat(frmContracts.TableGrid1.Cells[14,i]) < 0 then frmContracts.TableGrid1.Cell[14,i].Color := clRed;
               if    frmContracts.TableGrid1.Cells[7,1] = ' ' then frmContracts.TableGrid1.Cell[7,1].Color := clWhite
               else if    frmContracts.TableGrid1.Cell[7,i].AsFloat > frmContracts.TableGrid1.Cell[11,i].AsFloat then frmContracts.TableGrid1.Cell[11,i].Color := $008238
               else if    frmContracts.TableGrid1.Cell[7,i].AsFloat < frmContracts.TableGrid1.Cell[11,i].AsFloat then frmContracts.TableGrid1.Cell[11,i].Color := clRed;
            end;
       frmContracts.TableGrid1.EndUpdate;
            end;

Ошибка возникает при фильтрации... если строка только одна.

с Ув. Андрей

Re: Прошу помощи!

Пишу такой скрипт:
procedure NewDog_CheckBox4_OnClick (Sender: string);
begin
    if  newdog.CheckBox4.Checked=false then newdog.TableGrid2.allowedit:=false //изменение таблицы
    else newdog.TableGrid2.allowedit:=true; //изменение таблицы
end;

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

Re: Прошу помощи!

andrey.yugay

 if    frmContracts.TableGrid1.Cells[7,1] = ' ' then frmContracts.TableGrid1.Cell[7,1].Color := clWhite

скорей всего в этой строке вместо 1 должно быть i

Dmitry.

Re: Прошу помощи!

delphinsl wrote:

Пишу такой скрипт:
procedure NewDog_CheckBox4_OnClick (Sender: string);
begin
    if  newdog.CheckBox4.Checked=false then newdog.TableGrid2.allowedit:=false //изменение таблицы
    else newdog.TableGrid2.allowedit:=true; //изменение таблицы
end;

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

попробуйте так

procedure NewDog_CheckBox4_OnClick (Sender: string);
begin
    newdog.TableGrid2.allowedit := newdog.CheckBox4.Checked;
    newdog.TableGrid2.dbUpdate;    
end;
Dmitry.

Re: Прошу помощи!

DriveSoft wrote:

andrey.yugay

 if    frmContracts.TableGrid1.Cells[7,1] = ' ' then frmContracts.TableGrid1.Cell[7,1].Color := clWhite

скорей всего в этой строке вместо 1 должно быть i

Дмитри. вы Бог!)
спасибо огромное, а то уже глаза в кучу

с Ув. Андрей

Re: Прошу помощи!

DriveSoft wrote:
delphinsl wrote:

Пишу такой скрипт:
procedure NewDog_CheckBox4_OnClick (Sender: string);
begin
    if  newdog.CheckBox4.Checked=false then newdog.TableGrid2.allowedit:=false //изменение таблицы
    else newdog.TableGrid2.allowedit:=true; //изменение таблицы
end;

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

попробуйте так

procedure NewDog_CheckBox4_OnClick (Sender: string);
begin
    newdog.TableGrid2.allowedit := newdog.CheckBox4.Checked;
    newdog.TableGrid2.dbUpdate;    
end;

СПАСИБО!!! То что надо!

18 (edited by delphinsl 2017-08-29 20:13:12)

Re: Прошу помощи!

При выполнении данного SQL запроса, появляется вот такая ошибка. Началось с версии 3.3

select
SoispDog.num_dog,
strftime('%d.%m.%Y',SoispDog.date_dog),
soispdog.shifr_dog,
SoispDog.name_dog,
vedisp.numstage,                       
vedisp.namestage,
vedisp.ONTD,
strftime('%d.%m.%Y',vedisp.startstage),
strftime('%d.%m.%Y',vedisp.endstage)as dateend,
vedisp.trud,
vedisp.cashstage,
vedisp.NDS,
vedisp.vidcash,
Glisp.nameGi,
Soisp.nameisp,
vedisp.Zakl_OC,
vedisp.Zakl_TFC,
vedisp.udost,
(case when vedisp.otmstage=1 then 'да' else 'нет' end),
soispdog.id,               
soispdog.id_GLisp,
soispdog.id_soisp

from vedisp, soispdog, Glisp, soisp

where vedisp.id_soispdog=soispdog.id and soispdog.id_soisp=soisp.id and soispdog.id_Glisp=GLisp.id
and strftime('%m.%Y',vedisp.endstage)= strftime('%m.%Y',{DateTimePicker1}) and vedisp.otmstage='0'
order by dateend

Post's attachments

Attachment icon Безымянный.jpg 14.36 kb, 296 downloads since 2017-08-29 

Re: Прошу помощи!

delphinsl
Скорей всего ошибка в скрипте, не в SQL запросе.
Приложите пожалуйста ваш проект, с описанием действий приводящих к ошибке.

Dmitry.

Re: Прошу помощи!

Дмитрий, доброго времени суток.
Подскажите как можно реализовать.

на форме есть две кнопки - показать запись.
1) показывает на текущей форме
2) открывает новую форму для редактирования.

как можно сделать, что бы под одним пользователем работала 1 кнопка, а 2 под другими?
при открытии основной формы, есть разграничение прав, но если поставить запрет на все кнопки в режиме чтения, все равно срабатывает 2 и открывает форму.
может есть вариант, настроить Action на кнопку? т.е. прописать при определении прав.
пример ( за корректность не ручаюсь, т.к. опыта не было)

frmContracts.Button1Edit1. * Action = "None";
frmContracts.Button2Edit2. * Action = "None";

Заранее благодарю за вашу помощь.
Программу как и обещал будем брать, нужны будут ваши контакты, что бы отдел закупок связался с вами

с Ув. Андрей

с Ув. Андрей

Re: Прошу помощи!

delphinsl wrote:

При выполнении данного SQL запроса, появляется вот такая ошибка. Началось с версии 3.3

select
SoispDog.num_dog,
strftime('%d.%m.%Y',SoispDog.date_dog),
soispdog.shifr_dog,
SoispDog.name_dog,
vedisp.numstage,                       
vedisp.namestage,
vedisp.ONTD,
strftime('%d.%m.%Y',vedisp.startstage),
strftime('%d.%m.%Y',vedisp.endstage)as dateend,
vedisp.trud,
vedisp.cashstage,
vedisp.NDS,
vedisp.vidcash,
Glisp.nameGi,
Soisp.nameisp,
vedisp.Zakl_OC,
vedisp.Zakl_TFC,
vedisp.udost,
(case when vedisp.otmstage=1 then 'да' else 'нет' end),
soispdog.id,               
soispdog.id_GLisp,
soispdog.id_soisp

from vedisp, soispdog, Glisp, soisp

where vedisp.id_soispdog=soispdog.id and soispdog.id_soisp=soisp.id and soispdog.id_Glisp=GLisp.id
and strftime('%m.%Y',vedisp.endstage)= strftime('%m.%Y',{DateTimePicker1}) and vedisp.otmstage='0'
order by dateend


может в моем коде что то вам поможет

select
id,
strftime('%d.%m.%Y',shc_data) as shc_data, 
shc_agent,
(SELECT IFNULL(st.stname, '') FROM st WHERE st.id=id_st),
(SELECT IFNULL(st.stcode,'') FROM st WHERE st.id=id_st), 
(SELECT cemtype.cemtypeName FROM cemtype WHERE cemtype.id=id_cemtype),
(SELECT pack.pacName FROM pack WHERE pack.id=id_pack),
shc_tonn,
shc_cost,
shc_total,
shc_contact,
shc_fact1,
shc_fact2,
shc_fact3,
shc_fact4,
shc_sap,             
shc_broker,
shc_add,
(case when shc_an = 1 then 'Да' else 'Нет' end)
                           
from shc_data   
WHERE ( Date(shc_data) >= Date({A1}) )  AND  ( Date(shc_data) <= Date({A2}) ) 

UNION ALL

select
id,
strftime('%d.%m.%Y',kaspi_data) as kaspi_data, 
kaspi_agent,
(SELECT IFNULL(st.stname, '') FROM st WHERE st.id=id_st),
(SELECT IFNULL(st.stcode,'') FROM st WHERE st.id=id_st), 
(SELECT cemtype_kaspi.cemtypeName_kapsi FROM cemtype_kaspi WHERE cemtype_kaspi.id=id_cemtype_kaspi),
(SELECT pack.pacName FROM pack WHERE pack.id=id_pack),
kaspi_tonn,
kaspi_cost,
kaspi_total,
kaspi_contract,
kaspi_fact1,
kaspi_fact2,
kaspi_fact3,
kaspi_fact4,
kaspi_sap,             
kaspi_broker,
kaspi_add,
(case when kaspi_an = 1 then 'Да' else 'Нет' end)
                         
from kaspi_data 
WHERE ( Date(kaspi_data) >= Date({A1}) )  AND  ( Date(kaspi_data) <= Date({A2}) )

UNION ALL

select
id,
strftime('%d.%m.%Y',bcc_data) as bcc_data, 
bcc_agent,
(SELECT IFNULL(st.stname, '') FROM st WHERE st.id=id_st),
(SELECT IFNULL(st.stcode,'') FROM st WHERE st.id=id_st), 
(SELECT cemtypebcc.cemtypeName_bcc FROM cemtypebcc WHERE cemtypebcc.id=id_cemtypebcc),
(SELECT pack.pacName FROM pack WHERE pack.id=id_pack),
bcc_tonn,
bcc_cost,
bcc_total,
bcc_contract,
bcc_fact1,
bcc_fact2,
bcc_fact3,
bcc_fact4,
bcc_sap,             
bcc_broker,
bcc_add,
(case when bcc_an = 1 then 'Да' else 'Нет' end)
                           
from bcc_data
WHERE ( Date(bcc_data) >= Date({A1}) )  AND  ( Date(bcc_data) <= Date({A2}) )

с Ув. Андрей

Re: Прошу помощи!

andrey.yugay wrote:

Дмитрий, доброго времени суток.
Подскажите как можно реализовать.

на форме есть две кнопки - показать запись.
1) показывает на текущей форме
2) открывает новую форму для редактирования.

как можно сделать, что бы под одним пользователем работала 1 кнопка, а 2 под другими?
при открытии основной формы, есть разграничение прав, но если поставить запрет на все кнопки в режиме чтения, все равно срабатывает 2 и открывает форму.
может есть вариант, настроить Action на кнопку? т.е. прописать при определении прав.
пример ( за корректность не ручаюсь, т.к. опыта не было)

frmContracts.Button1Edit1. * Action = "None";
frmContracts.Button2Edit2. * Action = "None";

Заранее благодарю за вашу помощь.
Программу как и обещал будем брать, нужны будут ваши контакты, что бы отдел закупок связался с вами

с Ув. Андрей

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


Так можно удалить действие для кнопки

Form1.Button1.dbActionType := adbNone;  
Dmitry.

23 (edited by andrey.yugay 2017-09-12 10:38:02)

Re: Прошу помощи!

DriveSoft wrote:
andrey.yugay wrote:

Дмитрий, доброго времени суток.
Подскажите как можно реализовать.

на форме есть две кнопки - показать запись.
1) показывает на текущей форме
2) открывает новую форму для редактирования.

как можно сделать, что бы под одним пользователем работала 1 кнопка, а 2 под другими?
при открытии основной формы, есть разграничение прав, но если поставить запрет на все кнопки в режиме чтения, все равно срабатывает 2 и открывает форму.
может есть вариант, настроить Action на кнопку? т.е. прописать при определении прав.
пример ( за корректность не ручаюсь, т.к. опыта не было)

frmContracts.Button1Edit1. * Action = "None";
frmContracts.Button2Edit2. * Action = "None";

Заранее благодарю за вашу помощь.
Программу как и обещал будем брать, нужны будут ваши контакты, что бы отдел закупок связался с вами

с Ув. Андрей

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


Так можно удалить действие для кнопки

Form1.Button1.dbActionType := adbNone;  

Дмитрий, доброго,
да, это то, что нужно.

1) есть какая нибудь реализация по автозавершению слов именно в тектовом поле?
Пример по огранизации, польз-ль начинает вводить и ему предлагаю варианты.... По комбобокс не подходит, т.к. там будут вводить новые организации
2) В форме редактирования скриптов пропали +.... данных много, раньше все сваричивалось, сейчас приходится искать по тексту.
3) Еще вопрос, как с вами связаться на счет покупки?

с УВ. Андрей.

с Ув. Андрей

Re: Прошу помощи!

andrey.yugay

Дмитрий, доброго,
да, это то, что нужно.

1) есть какая нибудь реализация по автозавершению слов именно в тектовом поле?
Пример по огранизации, польз-ль начинает вводить и ему предлагаю варианты.... По комбобокс не подходит, т.к. там будут вводить новые организации
2) В форме редактирования скриптов пропали +.... данных много, раньше все сваричивалось, сейчас приходится искать по тексту.
3) Еще вопрос, как с вами связаться на счет покупки?

с УВ. Андрей.


1. Автозаврешение слов есть только в ComboBox, для этого установите его свойство Style = csDropDown
Затем поместите на форму компонент Edit, а для компонента ComboBox создайте событие

procedure Form2_ComboBox1_OnChange (Sender: string);
begin
    Form2.Edit1.Text :=  Form2.ComboBox1.Text;
end;

procedure Form2_OnShow (Sender: string; Action: string);
begin
    Form2.ComboBox1.Text := Form2.Edit1.Text;
end;

таким образом информация из CombBox будет дублироваться в Edit, компонент Edit сделайте невидимым, но данные в базу данных сохраняйте именно с компонента Edit

проект с примером приложил к сообщению


2. Нажмите правой кнопкой мыши в окне скриптов и поставьте галочку "Code folding"


3. support@drive-software.com
страница покупки
http://myvisualdatabase.com/purchase_ru.html

Post's attachments

Attachment icon Autocomplete in TextBox.zip 6.9 kb, 403 downloads since 2017-09-12 

Dmitry.

Re: Прошу помощи!

Дмитрий, в версии 3.6 ошибку больше не выдает, но при этом при выполнении SQL запроса значение vedisp.cashstage выдается с запятой (тип REAL), а значение vedisp.NDS выдается с точкой (тип REAL). Я думаю тут нет ошибок ни в SQL запросе ни в скрипте, поскольку там скрипт работает только по раскраске ячеек. Но с чем связана данная ситуация остается загадкой.

delphinsl wrote:

При выполнении данного SQL запроса, появляется вот такая ошибка. Началось с версии 3.3

select
SoispDog.num_dog,
strftime('%d.%m.%Y',SoispDog.date_dog),
soispdog.shifr_dog,
SoispDog.name_dog,
vedisp.numstage,                       
vedisp.namestage,
vedisp.ONTD,
strftime('%d.%m.%Y',vedisp.startstage),
strftime('%d.%m.%Y',vedisp.endstage)as dateend,
vedisp.trud,
vedisp.cashstage,
vedisp.NDS,
vedisp.vidcash,
Glisp.nameGi,
Soisp.nameisp,
vedisp.Zakl_OC,
vedisp.Zakl_TFC,
vedisp.udost,
(case when vedisp.otmstage=1 then 'да' else 'нет' end),
soispdog.id,               
soispdog.id_GLisp,
soispdog.id_soisp

from vedisp, soispdog, Glisp, soisp

where vedisp.id_soispdog=soispdog.id and soispdog.id_soisp=soisp.id and soispdog.id_Glisp=GLisp.id
and strftime('%m.%Y',vedisp.endstage)= strftime('%m.%Y',{DateTimePicker1}) and vedisp.otmstage='0'
order by dateend