Topic: calculate table

здравейте,не знам как да направя така че в frmOtcheti-tableGrid3 да се появи само сумата от колона 4(сума) (pricework).защото сега в колоната цифрата е една а в Edit3 е друга

Post's attachments

Attachment icon Клиенти.rar 321.43 kb, 947 downloads since 2015-03-26 

Re: calculate table

Здравейте,


Это можно сделать без использования SQL запроса (Button3)
необходимо просто настроить компонент TableGrid


Исправленный проект:

Post's attachments

Attachment icon Клиенти2.zip 37.46 kb, 832 downloads since 2015-03-26 

Dmitry.

Re: calculate table

здравейте,възможно ли е в таблица ,следния запис..
Иван     януари      20
Иван     февруари    30
Иван     март    50

да се направи да изглежда така:

Иван       януари       февруари       март
                   20                    30                50

благодаря

Re: calculate table

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

Dmitry.

Re: calculate table

ето проекта   frmSpravki- tabsheet2

Post's attachments

Attachment icon Клиенти.rar 309.97 kb, 907 downloads since 2015-04-21 

Re: calculate table

nikolai_nn
К сожалению пока такой возможности нет.

Dmitry.

Re: calculate table

здравейте,а възможно ли е във  Form1 когато избера име на Клиент и натисна бутон "плати сметка   (Button11) , записа ,който е в колона 11 (Сметка) в Tablegrid1 да бъде променен от "Непалтена" във "Платена"

Post's attachments

Attachment icon Клиенти.rar 310.03 kb, 910 downloads since 2015-04-21 

Re: calculate table

nikolai_nn wrote:

здравейте,а възможно ли е във  Form1 когато избера име на Клиент и натисна бутон "плати сметка   (Button11) , записа ,който е в колона 11 (Сметка) в Tablegrid1 да бъде променен от "Непалтена" във "Платена"

Готово.

Post's attachments

Attachment icon Клиенти_fixed.zip 24.47 kb, 795 downloads since 2015-04-22 

Dmitry.

Re: calculate table

здравейте,опитвам се да направя следния вариянт във таблица "справки"

clientname            klon          meseci                   quantity        meseci         quantity  .................................

иван                           1           януари                        10                февруари       20
стафан                      2           януари                         40                февруари      80

помогнете как?

Post's attachments

Attachment icon Клиенти.rar 311.84 kb, 928 downloads since 2015-04-23 

Re: calculate table

К сожалению так не получится сделать.

Dmitry.

Re: calculate table

Здравейте,искам да направя отчет само по  години,но не се получава,

strftime('%Y',{dtFrom}) as date
WHERE
(zakaz.godina = {dtFrom})

Re: calculate table

это ваш полный SQL запрос? или только часть?
попробуйте так

strftime('%Y',{dtFrom}) as date
WHERE zakaz.godina = strftime('%Y',{dtFrom}) 
Dmitry.

Re: calculate table

здравей,за съжаление в отчета не се показват записите за посочената година
ето целия скрипт


SELECT
    zakaz.id,
    zakaz.dnevna1,
    zakaz.cost,
    zakaz.total,
    zakaz.quantity,
    zakaz.godina,
   application.clientphone,
   zakaz.dnevna2,
    zakaz.obshto,
    zakaz.vsichko,
    zakaz.priceabonati,
    strftime('%d.%m.%Y',zakaz.date1) as date1,
    strftime('%d.%m.%Y',zakaz.date2) as date2,
   
    zakaz.meseci,
    strftime('%d.%m.%Y',zakaz.date3) as date3,
    application.id,
    application.klon,
    application.clientname,
    application.abonati,
    application.dnevna1
     strftime('%Y',{dtFrom}) as date,          ???????????
   FROM application

LEFT OUTER JOIN zakaz ON zakaz.id_application = application.id

  WHERE
  zakaz.meseci="Януари" AND zakaz.godina = strftime ('%Y',{dtFrom})      ????????????

Re: calculate table

извиняваи,аз го направих

Re: calculate table

Здравейте,имам 2 въпроса
1.когато не е маркиран запис и натисна бутон "Edit" ,може ли съобщението "unable to determine the record ID" да бъде заменено със друг текст?
2.когато въвеждам данни и цени за различни операции може ли да няма значение дали десетичния знак ще е "," или "."
Благодаря

Re: calculate table

nikolai_nn
1. Да, создайте событие OnClick для кнопки "Edit"

procedure Form1_Button4_OnClick (Sender: string; var Cancel: boolean);
begin
    if Form1.TableGrid1.dbItemID = -1 then
    begin
        ShowMessage('Выберите запись для редактирования');
        Cancel := True;
    end;
end;

2. Десятичный знак задается в региональных настройках Windows, установите у компонента Edit свойство NumbersOnly=True, тогда неверный десятичный знак не будет печататься.



Либо можете с помощью скрипта заменять например знак "," на "."

procedure Form1_Edit1_OnKeyPress (Sender: string; var Key: Char);
begin
    if Key=',' then Key := '.';
end;
Dmitry.

Re: calculate table

здравейте,аз не зададох правилно въпроса. при изчисление например 2х2,5 програмат извършва изчислението,а когато  напиша 2х2.5 не се извършва изчисление,защото е със точка. И втория ми въпрос е
пример:

if Form1.TableGrid1.dbItemID = -1 then
    begin
        ShowMessage('Избери касиер от таблицата');
        Cancel := True

как да увелича големината на шрифта на съобщението

Re: calculate table

nikolai_nn
А куда именно вы вводите вычисление 2х2,5 ?



Шрифт сообщения к сожалению увеличить не получится, но вы можете создать форму с необходимым сообщением и шрифтом, затем вместо ShowMessage вызвать форму с сообщением, например Form2.ShowModal;

Dmitry.

Re: calculate table

тук въвеждам  цифрите които в "edCost" не са цели числа . Изчисленията се извършват,само ако са със десетична запетаика,а не със десетична точка

procedure CalculateTotal;
begin
    if ValidFloat(frmZakaz.edCost.Text) and ValidFloat(frmZakaz.edQ.Text) then // check the correctness of the values
    begin
        frmZakaz.edTotal.Text := FloatToStr( StrToFloat(frmZakaz.edCost.Text) * StrToFloat(frmZakaz.edQ.Text) ); // calculate
    end else
    begin
        frmZakaz.edTotal.Text := '0';
    end;
end;

procedure frmZakaz_edQ_OnChange (Sender: string);
begin
    CalculateTotal;
end;

procedure frmZakaz_edCost_OnChange (Sender: string);
begin
    CalculateTotal;
end;

Re: calculate table

nikolai_nn
тогда я уже ответил на этот вопрос.

Dmitry.

21 (edited by nikolai_nn 2015-06-02 18:58:11)

Re: calculate table

Здравей Дмитрий,не мога да се справя с нещо много елементарно.

procedure Form1_cbStatus_OnChange (Sender: string);
begin

  if Form1.cbStatus.dbItemID = 1 then
     Form1.Button4.Click; // если выбран нужный пункт

end;

бутон 4 сработва само при ID= -1   ,в друг случай...не

Post's attachments

Attachment icon Клиенти.rar 328.04 kb, 899 downloads since 2015-06-02 

Re: calculate table

nikolai_nn
Вам необходимо, чтобы условие срабатывало, когда будет выбран первый пункт?
тогда попробуйте так


procedure Form1_cbStatus_OnChange (Sender: string);
begin
  if Form1.cbStatus.ItemIndex = 1 then
     Form1.Button4.Click; // если выбран нужный пункт
end;

свойство dbItemID возвращает идентификатор записи (не порядковый номер записи)
свойство ItemIndex возвращает порядковый номер записи

Dmitry.

Re: calculate table

Здравейте, помогнете за репорта
искам в един отчет да използвам 2 таблици
пример:
select
application.id,
application.name
FROM application

select
zakaz.id,
zakaz.name
FROM zakaz

когато напиша втората част и  ми съобщава грешка

Re: calculate table

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

Dmitry.

Re: calculate table

здравейте не мога да се справя със следния проблем:
Form1.Edit4.Text := SQLExecute('SELECT (meseci) FROM zakaz WHERE zakaz.id_application='+IntToStr(Form1.TableGrid1.dbIndexToID(i))+' ORDER BY meseci DESC LIMIT 1');

искам в Edit4 да се показва  записа с най голямо Id (последния запис)
благодаря