Re: Автоматизация

Приложите пожалуйста ваш проект.

Dmitry.

Re: Автоматизация

DriveSoft wrote:

Приложите пожалуйста ваш проект.

готово

Post's attachments

Attachment icon My Visual DataBase.rar 16.6 kb, 456 downloads since 2015-05-20 

Re: Автоматизация

тогда так

procedure order_discount_OnChange (Sender: string);
begin
    order.endprice.Value := SQLExecute('SELECT startprice FROM orders WHERE id='+students.orderslist.sqlValue) - order.discount.Value;
end;
Dmitry.

29 (edited by spectre 2015-05-21 12:12:45)

Re: Автоматизация

Все супер все сработало
Извеняюсь за назойливость но учусь программировать только на ваших примерах.

из этого возникает вопрос:
если мне надо менять значение одного и того же поля
но по разным событиям то я должен создать процедуру на каждое событие или же это можно как то объеденить?

на данный момент использую скрипт так:

procedure order_checklist_OnChange (Sender: string);
begin
    order.paid.Value := SQLExecute('SELECT TOTAL(cashpay.amount) FROM cashpay WHERE cashpay.id_orders='+students.orderslist.sqlValue) +
                        SQLExecute('SELECT TOTAL(checkspay.amount) FROM checkspay WHERE checkspay.id_orders='+students.orderslist.sqlValue) +
                        SQLExecute('SELECT TOTAL(creditcardpay.amount) FROM creditcardpay WHERE creditcardpay.id_orders='+students.orderslist.sqlValue);
end;

procedure order_cclist_OnChange (Sender: string);
begin
    order.paid.Value := SQLExecute('SELECT TOTAL(cashpay.amount) FROM cashpay WHERE cashpay.id_orders='+students.orderslist.sqlValue) +
                        SQLExecute('SELECT TOTAL(checkspay.amount) FROM checkspay WHERE checkspay.id_orders='+students.orderslist.sqlValue) +
                        SQLExecute('SELECT TOTAL(creditcardpay.amount) FROM creditcardpay WHERE creditcardpay.id_orders='+students.orderslist.sqlValue);
end;

procedure order_cashlist_OnChange (Sender: string);
begin
    order.paid.Value := SQLExecute('SELECT TOTAL(cashpay.amount) FROM cashpay WHERE cashpay.id_orders='+students.orderslist.sqlValue) +
                        SQLExecute('SELECT TOTAL(checkspay.amount) FROM checkspay WHERE checkspay.id_orders='+students.orderslist.sqlValue) +
                        SQLExecute('SELECT TOTAL(creditcardpay.amount) FROM creditcardpay WHERE creditcardpay.id_orders='+students.orderslist.sqlValue);
end;

меняется только условие

Re: Автоматизация

Вы можете вынести данный код в отдельную процедуру

procedure CalculatePaidValue;
begin
    order.paid.Value := SQLExecute('SELECT TOTAL(cashpay.amount) FROM cashpay WHERE cashpay.id_orders='+students.orderslist.sqlValue) +
                        SQLExecute('SELECT TOTAL(checkspay.amount) FROM checkspay WHERE checkspay.id_orders='+students.orderslist.sqlValue) +
                        SQLExecute('SELECT TOTAL(creditcardpay.amount) FROM creditcardpay WHERE creditcardpay.id_orders='+students.orderslist.sqlValue);
end;


procedure order_checklist_OnChange (Sender: string);
begin
   CalculatePaidValue;
end;

procedure order_cclist_OnChange (Sender: string);
begin
   CalculatePaidValue;
end;

procedure order_cashlist_OnChange (Sender: string);
begin
   CalculatePaidValue;
end;
Dmitry.

Re: Автоматизация

DriveSoft wrote:

у компонента students.orderslist есть свойство Increm.Search, где выбирается кнопка, которая будет автоматически нажиматься. Видимо вы забыли ее указать.

Можно ли указать  2 или 3 кнопки в поле Increm.Search настроек Грида?
Спасибо