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

Доброго дня !   версия 2.1

есть скрипт рабочий:

//очищает меню поиска-фильтра...создать кнопку уник. bClear...
//и в её события вставить  Form3_bClear_OnClick

procedure Form3_bClear_OnClick (Sender: string; var Cancel: boolean);
begin

     Form3.DateTimePicker1.Checked := False;
     Form3.DateTimePicker2.Checked := False;
     //Form3.CheckBox1.State := Grayed.
     Form3.ComboBox1.dbItemID := -1;
     Form3.ComboBox2.dbItemID := -1;
     Form3.ComboBox3.dbItemID := -1;
end;

вопрос: 1 как дописать правильно в скрипт для Form3.CheckBox1.State := Grayed.(этот не работает)
                2 у меня в проекте 3 скрипта, если данный скрипт верху-он работает,
                   а если он в низу-не работает...где ошибка?
                3 а при этом скрипте не работают все скрипты:
   
         // на форме1 нет менюшек в верху

       begin
         Form1.mniOptions.Visible := False;
         Form1.mniFile.Visible := False;
         Form1.mniReport.Visible := False;
         Form1.mniAbout.Visible := False;
       end.


                                                             С Уважением и Благодарностью Роман!!!

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

1.

Form3.CheckBox1.State := cbGrayed;

2,3. Не располагайте скрипт ниже блока

begin

end.

все что идет после end. (именно с точкой в конце) будет проигнорировано.

Dmitry.

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

Благодарствую!!!

ещё вопросик...
кликаем оди раз на сточку в TableGrid1... на этой же форме читаем и редактируем комментарий в мемо1

если можно пример с проектом...

                                                                                   С Уважением и Благодарностью Роман!!!

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

Роман wrote:

Благодарствую!!!

ещё вопросик...
кликаем оди раз на сточку в TableGrid1... на этой же форме читаем и редактируем комментарий в мемо1

если можно пример с проектом...

                                                                                   С Уважением и Благодарностью Роман!!!

Проект с примером:

Post's attachments

Attachment icon Employees TableGrid and memo and editing.zip 6.37 kb, 565 downloads since 2015-10-27 

Dmitry.

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

Доброго дня Дмитрий!

Проект с примером мемо, именно то, что мне надо!!!
Но у меня "гения программиста" выдаёт такую ошибку,при клике на строчку:

Error message
no such column: memo
Script:
SQLExecute
Display the SQL query for debuqqing?

SELECT memo FROM Centre WHERE id=2
пол ночи колдовства - результата не дало...

1. не подскажите в чём моя ошибка?
2. помогите с примером...(рис. прилагается)

Post's attachments

Attachment icon наглядный проект возможен.png 43.66 kb, 388 downloads since 2015-10-28 

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

Роман

1. Ошибка говорит о том, что в таблице БД Centre нет поля с названием memo
присутствует ли оно?


1

procedure Form1_ComboBox1_OnCloseUp (Sender: string);
begin
    if Form1.CheckBox1.Checked then
        Form1.Edit1.Text := Form1.ComboBox1.Text;
end;

2.

Form1.Edit1.Text := SQLExecute('SELECT fieldname FROM tablename WHERE id=2');
Dmitry.

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

Огромное при Огромное спасибочки!!!
Ура!!!  Всё заработало...даже при корректировки на другие формы работает...........
                                                                              С Уважением и Благодарностью Роман!!!

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

Доброго времени суток!

есть скрипт...он работает, когда только назначаешь на Button показать запись.....
а надо чтоб работал  при назначении новая запись...(версия 2.1)

procedure Form4_Edit1_OnChange (Sender: string);
begin
Form9.Edit2.Text := Form4.Edit1.Text;
end;

вопрос: Подскажите, где ошибка?

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

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

procedure Form4_Edit1_OnChange (Sender: string);
begin
    if Form4.dbAction = 'NewRecord' then
       Form9.Edit2.Text := Form4.Edit1.Text;
end;
Dmitry.

10 (edited by Роман 2015-10-29 18:19:09)

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

Будем пробывать.....

ещё скромный вопрос, даже ДВА  они выложены в рисунке (Рисунок прилагается)

                                                                              С Уважением и Благодарностью Роман!!!

Post's attachments

Attachment icon вопрос тут.png 118.28 kb, 387 downloads since 2015-10-29 

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

Роман wrote:

Будем пробывать.....

ещё скромный вопрос, даже ДВА  они выложены в рисунке (Рисунок прилагается)

                                                                              С Уважением и Благодарностью Роман!!!

1. К сожалению в текущей версии нет возможности сделать это корректно, нужно для формы ввести новое событие, типа OnAfterData



2. Создайте событие OnChange для TableGrid

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

12 (edited by Роман 2015-10-31 08:08:19)

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

Доброго времени суток Дмитрий!   версия 2.1

подскажите скрипт:

1. при открытии формы, сразу обновлялся TableGrid1...
   (т.е. открываем форму и чтоб увидеть значения в TableGrid1 надо нажать на кнопку поиск...
    возможен вариант при открытии формы, кнопочка Button с назначением поиск сама нажималась
    TableGrid1 автоматически выводил информацию с критериями назначаемые для условия поиска...)

2. если в вычисляемом поле появляется значение меньше нуля, то клеточка где #(Auto Increment) 
   окрасится в красный цвет в TableGrid1.

3.  если в вычисляемом поле появляется значение меньше нуля, то эта цифра будет иметь
    красный цвет в TableGrid1.

если возможно с наглядным проектом...думаю для других будет тоже интересно...

                                                 С Уважением и Благодарностью Роман!!!

13 (edited by Роман 2015-10-31 20:18:42)

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

Пока ждал Вашего ответа на предыдущий пост.... созрел самый ГЛАВНЫЙ ДЛЯ МЕНЯ ВОПРОСИЩЕ!!!
возможен ли в Вашей программе следующее... решения моей задачи... каким-то способом: скриптом или вычислительным полем ...

А.)    Рисунок прилагается (так легче для меня высказать суть ВОПРОСА...)

Б.)    если нет = подскажите альтернативный вариант решения вопроса...

В этом случае мне без примера-проекта не справиться.....................

                                                                                                                С Уважением и Благодарностью Роман!!!

Post's attachments

Attachment icon Важный вопрос для меня....png 143.46 kb, 334 downloads since 2015-10-31 

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

Роман
1.  Создайте у формы событие OnShow, в котором можно с помощью скрипта нажать на кнопку поиска, пример:

procedure Form1_OnShow (Sender: string; Action: string);
begin
    Form1.Button1.Click;
end;

2-3. http://myvisualdatabase.com/forum/viewtopic.php?id=1063

Dmitry.

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

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

Dmitry.

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

DriveSoft wrote:

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

Доброго времени суток Дмитрий!   версия 2.1

Попробую упростить вопрос...

есть две таблицы магазин и склад:

у таблицы магазин есть два поля "название магазина" и "приход"(тип поля-веществ. число)
P/S названий магазинов может быть много и у каждого свой приход.

у таблицы склад есть три поля "название магазина", "товар" и "цена" 
P/S поле "название магазина" будет совпадать с полем "название магазина" в таблицы магазин
    в поле "товар" делаем запись наименование товара(наименований товаров много)
    в поле "цена" делаем запись сколько стоит товар

Вопрос:    Подскажите скрипт который,
                   подсчитает общую сумму из поле "цена" 
                   только с одинаковым ИМЕНЕМ в поле "название магазина" из таблицы склад
           
                  и подставит итог этой общей суммы
                  автоматически в таблицу магазин в поле "приход" с таким же ИМЕНЕМ.
                                                 
Если это возможно  на наглядном проекте...
                                       
                                                                                     С Уважением и Благодарностью Роман!!!

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

Роман
Судя по описанию у вас неверная структура БД. Такие сущности как "название магазина" и "товар" должны быть выделены в отдельные таблицы и использоваться как справочники для других таблиц.


Пожалуйста скачайте пожалуйста примеры из этой темы
http://myvisualdatabase.com/forum/viewtopic.php?id=1529

Dmitry.

18 (edited by Роман 2015-11-02 17:22:58)

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

Спасибо Вам!!!  Это именно то, что мне надо!

Имеется вопрос следующего характера...(методом тыка не получилось решить)
есть скрипт он красит ячейку...

procedure Form1_GridEmployees_OnChange (Sender: string);
var
   i,c: integer;
begin
     c := Form1.GridEmployees.RowCount - 1;
     for i := 0 to c do
     begin
         if Form1.GridEmployees.Cells[4,i] = 'Да' then Form1.GridEmployees.Cell[0,i].Color := clRed
             else Form1.GridEmployees.Cell[0,i].Color := clGreen;
     end;
end;

Вопрос: что надо в нём поменять ,что бы окрас ячейки зависел от (число>или=0 - зелёный цвет    ; если число <0 - цвет ячейки красный)

                                                                                                                                            С Уважением и Благодарностью Роман!!!

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

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

procedure Form1_GridEmployees_OnChange (Sender: string);
var
   i,c: integer;
   s: string;
begin
     c := Form1.GridEmployees.RowCount - 1;
     for i := 0 to c do
     begin
         s := Form1.GridEmployees.Cells[4,i];
         if ValidInt(s) then 
            if StrToInt(s) >= 0 then Form1.GridEmployees.Cell[4,i].Color := clGreen
                else Form1.GridEmployees.Cell[4,i].Color := clRed;
     end;
end;
Dmitry.

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

ух-ты...Работает!!! Спасибо!!!

procedure Form1_GridEmployees_OnChange (Sender: string);
var
   i,c: integer;
   s: string;
begin
     c := Form1.GridEmployees.RowCount - 1;
     for i := 0 to c do
     begin
         s := Form1.GridEmployees.Cells[4,i];
         if ValidInt(s) then
            if StrToInt(s) >= 0 then Form1.GridEmployees.Cell[4,i].Color := clGreen
                else Form1.GridEmployees.Cell[4,i].Color := clRed;
     end;
end;

Вопрос: что надо изменить , чтоб не красила ячейку, а изменила цвет только цифры в красный если (число <0)

                                                                                                                   С Уважением и Благодарностью Роман!!!

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

вместо Cell[4,i].Color используйте Cell[4,i].TextColor

Dmitry.

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

Работает.....Спасибочки!!!

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

Добрый день Дмитрий!
пытаюсь вставить скрипт...
//красит шрифт числа(отриц.) в TableGrid1
procedure Form3_TableGrid1_OnChange (Sender: string);

var
   i,c: integer;
   s: string;
begin
     c := Form3.TableGrid1.RowCount - 1;
     for i := 0 to c do
     begin
         s := Form3.TableGrid1.Cells[10,i];

            if StrToInt(s) <= 0 then Form3.TableGrid1.Cell[10,i].TextColor := clRed

     end;
end;
программка ругается...у меня на   Form3 уже стоит для TableGrid1 в событии(Form3_TableGrid1_OnChange)-красит ячейку...
Вопрос: как ещё добавит для  //красит шрифт числа(отриц.) в TableGrid1 события : Form3_TableGrid1_OnChange

                                                                                                                      С Уважением и Благодарностью Роман!!!

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

Это второй скрипи...с тем же событием...
//красит ячейку в зависимости от содержимого...цыфра 3 колонка таблицы( id-не считается)
procedure Form3_TableGrid1_OnChange (Sender: string);
var
   i,c: integer;
begin
     c := Form3.TableGrid1.RowCount - 1;
     for i := 0 to c do
     begin
      // if Form3.TableGrid1.Cells[3,i] = 'Yes'  - красит зелным....если 'Да' красит красным
         if Form3.TableGrid1.Cells[3,i] = 'Real' then Form3.TableGrid1.Cell[3,i].Color := clSilver
             else Form3.TableGrid1.Cell[3,i].Color := clYellow;
     end;
end;

не могу их объединить их ...?

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

procedure Form3_TableGrid1_OnChange (Sender: string);
var
   i,c: integer;
   s: string;
begin
     c := Form3.TableGrid1.RowCount - 1;
     for i := 0 to c do
     begin
         s := Form3.TableGrid1.Cells[10,i];
         if ValidInt(s) then 
            if StrToInt(s) <= 0 then Form3.TableGrid1.Cell[10,i].TextColor := clRed;

         s := Form3.TableGrid1.Cells[4,i];
         if ValidInt(s) then 
            if StrToInt(s) >= 0 then Form3.TableGrid1.Cell[4,i].Color := clGreen
                else Form3.TableGrid1.Cell[4,i].Color := clRed;

     end;
end;
Dmitry.