26 (edited by malitos 2023-05-09 06:06:12)

Re: Вывод на печать CheckBox

Владимир спасибо большое за помощь!  Это то что нужно !

Re: Вывод на печать CheckBox

Привет Malitos, Vladimir,
Другим вариантом может быть интерактивное обновление. В приложенном примере выберите «статус» в поле со списком, а затем щелкните столбец «статус» в таблице.
С уважением
Derek.

Post's attachments

Attachment icon interactive update.zip 439.55 kb, 138 downloads since 2023-05-08 

28 (edited by malitos 2023-05-09 09:44:26)

Re: Вывод на печать CheckBox

Вот хоть тресни, но не получается вывести фото в отчет... может кто чем подскажет?

Не получается скопировать из таблицы    "а"   фото в временную таблицу, может есть вариант вообще не делать временную таблицу а из основной с помощью checkbox отправлять в отчет нужные записи ?

Post's attachments

Attachment icon Status4.rar 384.83 kb, 113 downloads since 2023-05-09 

Re: Вывод на печать CheckBox

Получилось прикрепить изображение через LinkFile. А подскажите есть ли возможность checkbox'ом а таблице выбирать определенные записи и именно их выводить в отчет ?

Post's attachments

Attachment icon Status4_fixed.rar 385.76 kb, 100 downloads since 2023-05-09 

Re: Вывод на печать CheckBox

Привет Malitos,
Вам не нужно использовать временную таблицу — просто обработайте строки в tablegrid1, которые были отмечены флажками.
Это одна и та же логика как для изменения «name status», так и для печати отчета.
Взгляните на вложение.
С уважением,
Derek
.
You do not have to use a temporary table - just process through the rows in tablegrid1 that have been checkmarked.
It is the same logic for both changing the 'name status' and for printing the report.

Post's attachments

Attachment icon Status4A_fixed.zip 892.21 kb, 108 downloads since 2023-05-09 

Re: Вывод на печать CheckBox

Derek спасибо большое за помощь !

Re: Вывод на печать CheckBox

Derek в твоем скрипте если ты нажимаешь на нужные checkbox и в последующем выводишь в отчет, то потом если нужно будет другие checkbox нажать и вывести в отчет - происходит что предыдущие записи остаются в отчете - так как значение bolean уже стоит 1 у первых кого отправил в отчет... Можно как либо создать условие что после закрытия отчета сбрасывались на значения все на 0 ?

Re: Вывод на печать CheckBox

Привет Malitos
Первый шаг при запуске отчета это переустановить все 'printflag'=0 поэтому я не понимаю как это у вас происходит.
Пожалуйста, посмотрите на скриншот.
Derek.

Post's attachments

Attachment icon screenshot1.jpg 29.9 kb, 40 downloads since 2023-05-10 

Re: Вывод на печать CheckBox

derek wrote:

Привет Malitos
Первый шаг при запуске отчета это переустановить все 'printflag'=0 поэтому я не понимаю как это у вас происходит.
Пожалуйста, посмотрите на скриншот.
Derek.

Все разобрался, спасибо smile  А есть скрипт на выделение всех в таблице и наоборот снять галочки со всех?

Re: Вывод на печать CheckBox

Привет
Здесь та же логика, что и в существующем скрипте (см. вложение).
Derek.
.
It's the same logic as in the existing script.

Post's attachments

Attachment icon Status5.zip 892.65 kb, 111 downloads since 2023-05-10 

Re: Вывод на печать CheckBox

derek wrote:

Привет
Здесь та же логика, что и в существующем скрипте (см. вложение).
Derek.
.
It's the same logic as in the existing script.

спасибо за помощь

Re: Вывод на печать CheckBox

derek wrote:

Привет
Здесь та же логика, что и в существующем скрипте (см. вложение).
Derek.
.
It's the same logic as in the existing script.

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

Post's attachments

Attachment icon Checks new.rar 520.67 kb, 62 downloads since 2023-09-05 

38 (edited by sparrow 2023-09-05 17:56:48)

Re: Вывод на печать CheckBox

procedure frm_main_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
  sqlexecute('update main set printflag = 0');
  for vi := 0 to frm_main.table_main.rowcount -1 do
    begin
      if frm_main.table_main.cell[0,vi].AsBoolean = true then
        begin
          sqlexecute('update main set printflag = 1 where id = "'+inttostr(frm_main.table_main.row[vi].id)+'"');
          frm_main.table_main.cell[0,vi].AsBoolean := false;
        end;
    end;
end;

Вот в этом кусочке кода две ошибки. Внимательно проверьте, что и где вы проверяете.
Нельзя просто копировать код.

Re: Вывод на печать CheckBox

sparrow wrote:
procedure frm_main_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
  sqlexecute('update main set printflag = 0');
  for vi := 0 to frm_main.table_main.rowcount -1 do
    begin
      if frm_main.table_main.cell[0,vi].AsBoolean = true then
        begin
          sqlexecute('update main set printflag = 1 where id = "'+inttostr(frm_main.table_main.row[vi].id)+'"');
          frm_main.table_main.cell[0,vi].AsBoolean := false;
        end;
    end;
end;

Вот в этом кусочке кода две ошибки. Внимательно проверьте, что и где вы проверяете.
Нельзя просто копировать код.

Простите, я не программист, просто пытаюсь разобраться, поэтому ищу информацию и пытаюсь что-то под свои нужды подстроить. Так и не понял в чем ошибки? Не затруднит ли Вас либо указать мне на них, либо проект исправленный обратно выложить? Спасибо заранее огромное!

Re: Вывод на печать CheckBox

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


cell[0,vi]
и 
cell[0,vi]

Найдите здесь http://myvisualdatabase.com/help_ru/scr … egrid.html
свойство Cell[x,y]. Зайдите в подробнее.
Узнайте что такое первый и второй аргумент и сверьтесь с вашей таблицей table_main.
Подсказка: счет колонок и строк в таблице начинается с 0.

Re: Вывод на печать CheckBox

sparrow wrote:

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


cell[0,vi]
и 
cell[0,vi]

Найдите здесь http://myvisualdatabase.com/help_ru/scr … egrid.html
свойство Cell[x,y]. Зайдите в подробнее.
Узнайте что такое первый и второй аргумент и сверьтесь с вашей таблицей table_main.
Подсказка: счет колонок и строк в таблице начинается с 0.

Как я понимаю из вашего урока, в таблице колонка с чекбоксами имеет номер 1? Я исправил, но все равно не работает :-( Что-то не так понял снова?

Re: Вывод на печать CheckBox

покажите что вы исправили а лучше еще раз программу исправленую

43 (edited by Vickus 2023-09-08 16:47:58)

Re: Вывод на печать CheckBox

sparrow wrote:

покажите что вы исправили а лучше еще раз программу исправленую

Post's attachments

Attachment icon Vickus.rar 460.35 kb, 49 downloads since 2023-09-08 

44 (edited by sparrow 2023-09-08 16:52:53)

Re: Вывод на печать CheckBox

Вот первая версия с устраненной ошибкой.
как видите работат.

Post's attachments

Attachment icon Checks old.zip 559.81 kb, 50 downloads since 2023-09-08 

Re: Вывод на печать CheckBox

Вы опять допустили ошибку.

Всего одна буква.
Ищите в названии событий компонентов.

Re: Вывод на печать CheckBox

sparrow wrote:

Вот первая версия с устраненной ошибкой.
как видите работат.

ОГРОМНОЕ ВАМ СПАСИБО!!!!

Re: Вывод на печать CheckBox

Vickus wrote:
sparrow wrote:

Вот первая версия с устраненной ошибкой.
как видите работат.

ОГРОМНОЕ ВАМ СПАСИБО!!!!

Не сочтите за наглость, но не могли бы Вы подсказать как реализовать удаление выделенными чекбоксами строк таблицы

Re: Вывод на печать CheckBox

Vickus wrote:

как реализовать удаление выделенными чекбоксами строк таблицы


procedure frm_main_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
    for vi := 0 to frm_main.table_main.rowcount -1 do
    begin
      if frm_main.table_main.cell[1,vi].AsBoolean = true then
        begin
          sqlexecute('delete from main where id = "'+inttostr(frm_main.table_main.row[vi].id)+'"');
          frm_main.table_main.cell[1,vi].AsBoolean := false;
        end;
    end;
    frm_main.table_main.dbUpdate;
end;

Re: Вывод на печать CheckBox

sparrow wrote:
Vickus wrote:

как реализовать удаление выделенными чекбоксами строк таблицы


procedure frm_main_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
    for vi := 0 to frm_main.table_main.rowcount -1 do
    begin
      if frm_main.table_main.cell[1,vi].AsBoolean = true then
        begin
          sqlexecute('delete from main where id = "'+inttostr(frm_main.table_main.row[vi].id)+'"');
          frm_main.table_main.cell[1,vi].AsBoolean := false;
        end;
    end;
    frm_main.table_main.dbUpdate;
end;

БЛАГОДАРЮ ЕЩЕ РАЗ!!!!!