Re: Подскажите со скриптом...

Роман
Для этого вам необходимо завести в таблице БД, поле, например с названием hidden с типом ДА/НЕТ.


затем в данном скрипте вместо выполнения SQL запроса удаления, сделать SQL запрос обновления записи, чтобы в поле hidden записать значение 1, пример

SQLExecute('UPDATE  employees SET hidden=1 WHERE id = ' + Form1.GridEmployees.Cells[iColumn, i]);

затем в настройках грида, в разделе 3. Фильтр написать условие:

hidden<>1
Dmitry.

Re: Подскажите со скриптом...

Благодарю....Работает!!!

Re: Подскажите со скриптом...

Приветствую ВАс прошу помочь с примером, форум весь просмотрел так и не нашол ответ на свой вопрос - как скопировать выделенную строку  из 4 столбцов а затем  вставить обратно (одним словом продублировать выделенную строку) Заранее благодарен Владимир.

Re: Подскажите со скриптом...

2025565 wrote:

Приветствую ВАс прошу помочь с примером, форум весь просмотрел так и не нашол ответ на свой вопрос - как скопировать выделенную строку  из 4 столбцов а затем  вставить обратно (одним словом продублировать выделенную строку) Заранее благодарен Владимир.

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


Скачайте пожалуйста этот пример
http://myvisualdatabase.com/forum/misc. … download=1


там продемонстрировано два способа создать дубликат. Дубликат выделенной строки в гриде, либо создание дубликата на форме открытой для редактирования существующей записи.

Dmitry.

Re: Подскажите со скриптом...

Огромное спасибо !!!!!

56 (edited by katmir 2016-10-28 05:43:33)

Re: Подскажите со скриптом...

DriveSoft wrote:
2025565 wrote:

Приветствую ВАс прошу помочь с примером, форум весь просмотрел так и не нашол ответ на свой вопрос - как скопировать выделенную строку  из 4 столбцов а затем  вставить обратно (одним словом продублировать выделенную строку) Заранее благодарен Владимир.

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


Скачайте пожалуйста этот пример
http://myvisualdatabase.com/forum/misc. … download=1


там продемонстрировано два способа создать дубликат. Дубликат выделенной строки в гриде, либо создание дубликата на форме открытой для редактирования существующей записи.


Ув. Дмитрий.
Что значит вот этот код на примере, которую вы дали выше:

frmEmployee.bSave.dbGeneralTableId:=-1;
спасибо заранее.

Re: Подскажите со скриптом...

katmir wrote:

Ув. Дмитрий.
Что значит вот этот код на примере, которую вы дали выше:

frmEmployee.bSave.dbGeneralTableId:=-1;
спасибо заранее.


Эта строка заставляет кнопку с действием "Сохранить запись" сохранить запись как новую, вместо того чтобы ее просто отредактировать. В принципе это специфика внутренних алгоритмов MVD.

Dmitry.

58 (edited by motorolla 2016-11-05 00:01:42)

Re: Подскажите со скриптом...

Добрый день, Дмитрий.
Не получается никак задать условие в скрипте.
В таблице есть дата события, хочу сделать подсветку ячейки за 30 дней до наступления этой даты.
Работает, но как-то не так...только в пределах месяца, понимаю, что напутал что-то, а как правильно?

if  DateToStr(Date+30)> counter2016.TableGrid1.Cells[3,i] then counter2016.TableGrid1.Cell[3,i].Color := $00B7FFB7;

или как к дате прибавить 30 дней?

Re: Подскажите со скриптом...

нашел, вот как надо:

if ValidDate(counter2016.TableGrid1.Cells[3,i]) then
if StrToDate(counter2016.TableGrid1.Cells[3,i]) < Now+30 then counter2016.TableGrid1.Cell[3,i].Color := $00B7FFB7;

60 (edited by motorolla 2016-12-21 20:09:59)

Re: Подскажите со скриптом...

Подскажите, пожалуйста, со скриптом:
в таблице есть вычисляемые поля  - разница двух ячеек, а в футере суммируется столбец - как эту сумму по столбцу при нажатии на кнопку вставить в текстбокс?

http://s017.radikal.ru/i433/1612/6a/f071f5fd9b5d.jpg

И второй вопрос - можно ли из футера данные перенести в отчет сразу без вывода записей, только одно число?

Re: Подскажите со скриптом...

motorolla

Можно

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
    Form1.Edit1.Value := Form1.TableGrid1.Columns[4].Footer.FormulaValue;
end;

либо без кнопки, автоматически

procedure Form1_TableGrid1_OnChange (Sender: string);
begin
    Form1.Edit1.Value := Form1.TableGrid1.Columns[4].Footer.FormulaValue;
end;

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

SELECT TOTAL(fieldname) FROM tablename


Возможно будет проще использовать Word шаблон, если отчет довольно простой, тогда сможете вставить любые данные с помощью скрипта, пример
http://myvisualdatabase.com/forum/misc. … download=1

Dmitry.

Re: Подскажите со скриптом...

крутяк, спасибо, Дмитрий!

63 (edited by motorolla 2016-12-26 19:29:25)

Re: Подскажите со скриптом...

подскажите, пожалуйста, вставляется в текстовое поле Edit28 значение разницы умноженное на число по срабатыванию скрипта. Как бы все работает когда числа целые, но как умножить разницу на число с плавающей запятой Edit8? И как это число вообще ввести в это поле Edit8? говорит что not integer...Какой тип числа должен быть...Real...Float?
простая формула: Edit28=Edit8*(Edit26-Edit27)

add.Edit28.text := IntToStr(StrToInt(add.Edit8.text)*(StrToInt( add.Edit26.text)- StrToInt( add.Edit27.text)));

Re: Подскажите со скриптом...

нашел, вот как надо

add.Edit28.text:= FloatToStr(StrToFloat(add.Edit8.text)*(StrToFloat( add.Edit26.text)- StrToFloat( add.Edit27.text)));

Re: Подскажите со скриптом...

motorolla wrote:

нашел, вот как надо

add.Edit28.text:= FloatToStr(StrToFloat(add.Edit8.text)*(StrToFloat( add.Edit26.text)- StrToFloat( add.Edit27.text)));

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

add.Edit28.Value:= add.Edit8.Value * (add.Edit26.Value - add.Edit27.Value);
Dmitry.

Re: Подскажите со скриптом...

Здравствуйте Дмитрий!!!
Будьте так добры подскажите???

var
       LISTL,T : String;
begin
      c := LIST.Count- 1;   //...тут выдаёт ошибку???
     for i := 0 to c do
begin
        T:=LISTL[i];
...........................................
...........................................

подскажите как правильно записать???

Re: Подскажите со скриптом...

Роман wrote:

Здравствуйте Дмитрий!!!
Будьте так добры подскажите???

var
       LISTL,T : String;
begin
      c := LIST.Count- 1;   //...тут выдаёт ошибку???
     for i := 0 to c do
begin
        T:=LISTL[i];
...........................................
...........................................

подскажите как правильно записать???

Вы не указали откуда LIST берет данные поэтому выдает ошибку.