Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод стоимости в Excel таблицу, Не выводи всю стоимость 
V
    Опции темы
xpamoi
Дата 19.5.2010, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 8.6.2009
Где: Vladivostok city

Репутация: нет
Всего: нет



Добрых суток госпда=) 

У меня возникла вот такая вот проблема: в отчете в таблице не подсчитывается один "Едит" и в чем проблема понять не могу...

Вот весь код данной формы:

Код

unit Unit7;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask,comobj, DBCtrls, Buttons, Grids, DBGrids, ComCtrls, ExtCtrls;

type
  TForm7 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    DBLookupComboBox2: TDBLookupComboBox;
    Label4: TLabel;
    Label5: TLabel;
    Button1: TButton;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    DateTimePicker3: TDateTimePicker;
    BitBtn2: TBitBtn;
    Label12: TLabel;
    BitBtn4: TBitBtn;
    DBLookupComboBox3: TDBLookupComboBox;
    DBLookupComboBox4: TDBLookupComboBox;
    BitBtn5: TBitBtn;
    BitBtn3: TBitBtn;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBLookupComboBox1: TDBLookupComboBox;
    Bevel1: TBevel;
    Bevel2: TBevel;
    DBGrid2: TDBGrid;
    Label10: TLabel;
    BitBtn1: TBitBtn;
    Edit1: TEdit;
    procedure Edit1Change(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form7: TForm7;
   a:currency;
implementation

uses Unit1, Unit2, Unit3, Unit4, Unit5, Unit6, Unit8, Unit9;

{$R *.dfm}

procedure TForm7.BitBtn1Click(Sender: TObject);
begin
 DataModule2.ADOZakIzdDet.Delete;
end;

procedure TForm7.BitBtn2Click(Sender: TObject);
begin
 DataModule2.ADOZakaz.cancel;
DataModule2.ADOZakIzdDet.cancel;
close;
end;

procedure TForm7.BitBtn3Click(Sender: TObject);
begin
DataModule2.ADOZakIzdDet.post;
DataModule2.ADODetali.filtered:=false;
DataModule2.ADODetali.Filter:='КодДетали='+DataModule2.ADOZakIzdDet.FieldByName('КодДетали').AsString;
DataModule2.ADODetali.filtered:=true;
a:=a+  DataModule2.ADODetali.FieldByName('Стоимость').asCurrency;
DataModule2.ADODetali.filtered:=false;
DataModule2.ADOZakIzdDet.append;
DataModule2.ADOZakIzdDet.fieldByName('КодЗаказа').asInteger:=DataModule2.ADOZakaz.FieldByName('КодЗаказа').asInteger;
Label10.Caption:=currtostr(a);
end;


procedure TForm7.BitBtn4Click(Sender: TObject);
begin
DBGrid2.Visible:=true;
label12.Visible:=true;
dbLookupCombobox3.Visible:=true;
bitbtn3.Visible:=true;
bitbtn1.Visible:=true;
Edit1.Visible:=true;
a:=0;
DataModule2.ADOZakaz.FieldByName('ДатаЗаказа').AsDateTime:=datetimepicker1.Date;
DataModule2.ADOZakaz.FieldByName('ДатаПримерки').AsDateTime:=datetimepicker2.Date;
DataModule2.ADOZakaz.FieldByName('ДатаВыполнения').AsDateTime:=datetimepicker3.Date;
DataModule2.ADOZakaz.post;
DataModule2.ADOIzdelia.Filtered:=false;
DataModule2.ADOIzdelia.Filter:='КодИзделия='+ DataModule2.ADOZakaz.FieldByName('КодИзделия').AsString;
DataModule2.ADOIzdelia.Filtered:=true;
a:=DataModule2.ADOIzdelia.FieldByName('Стоимость').Ascurrency;
DataModule2.ADOZakIzdDet.filtered:=false;
DataModule2.ADOZakIzdDet.Filter:='КодЗаказа='+DataModule2.ADOZakaz.FieldByName('КодЗаказа').AsString;
DataModule2.ADOZakIzdDet.filtered:=true;
DataModule2.ADOZakIzdDet.append;
DataModule2.ADOZakIzdDet.fieldByName('КодЗаказа').asInteger:=DataModule2.ADOZakaz.FieldByName('КодЗаказа').asInteger;
Label10.Caption:=currtostr(a);
end;

procedure TForm7.BitBtn5Click(Sender: TObject);
begin
form6.Show;
end;

procedure TForm7.Button1Click(Sender: TObject);
  var e,wb,sh,mass,c1,c2,d1,d2,r,h1:variant;
 str,kol,i,j:integer;
begin
DataModule2.ADODetali.filtered:=false;
DataModule2.ADODetali.Filter:='КодДетали='+DataModule2.ADOZakIzdDet.FieldByName('КодДетали').AsString;
DataModule2.ADODetali.filtered:=true;
a:=a+  DataModule2.ADODetali.FieldByName('Стоимость').asCurrency;

  DataModule2.ADOZakIzdDet.post;
   DataModule2.ADOZakaz.Edit;
  DataModule2.ADOZakaz.FieldByName('Стоимость').ascurrency:=a;
  DataModule2.ADOZakaz.Post;
  Label10.Caption:=currtostr(a);





e:=createOleObject('Excel.Application');
 wb:=e.workbooks.add;
 sh:=wb.sheets[2];
 sh.activate;
sh.rows[1].font.color:=clblack;
sh.range[sh.cells[12,1],sh.cells[12,2]].interior.color:=clsilver;
sh.rows[1].horizontalalignment:=-4108;

sh.cells[1,1]:='Накладная №'+datamodule2.ADOZakaz.FieldByName('КодЗаказа').AsString;
sh.cells[1,2]:=date;
sh.cells[3,1]:='Заказчик: '+DBLookupComboBox4.Text;
sh.cells[3, 2]:='Исполнитель: '+DBLookupComboBox1.Text;
sh.cells[5, 1]:='Дата заказа: '+datetostr(DAteTimePicker1.date);
sh.cells[6,1]:='Дата примерки: '+datetostr(DAteTimePicker2.date);
sh.cells[7,1]:='Дата выполнения: '+datetostr(DAteTimePicker3.date);
sh.cells[9, 1]:='Изделие: '+DBLookupComboBox2.Text;
DataModule2.ADOIzdelia.Filtered:=false;
DataModule2.ADOIzdelia.Filter:='КодИзделия='+ DataModule2.ADOZakaz.FieldByName('КодИзделия').AsString;
DataModule2.ADOIzdelia.Filtered:=true;
sh.cells[9, 2]:='Стоимость: '+DataModule2.ADOIzdelia.FieldByName('Стоимость').AsString;
sh.cells[10, 1]:='Размер: '+DBEdit1.Text;
sh.cells[10, 2]:='Дополнительное описание: '+DBEdit2.Text;
 with dbgrid2.DataSource.DataSet do begin
 str:=recordcount;
 kol:=dbgrid2.fieldcount;

h1:=sh.range[sh.cells[12,1],sh.cells[str+12,kol]];
h1.borders.weight:=-4138;
 mass:=varArrayCreate([1,str,1,kol],varvariant);
 for j := 1 to kol do   begin
first;
sh.cells[12,j]:=fields[j-1].FieldName;

for i := 1 to str do    begin
  mass[i,j]:=fields[j-1].Value;
  next;



end;
sh.columns.autofit;
c1:=sh.cells[13,1];
c2:=sh.cells[13+str-1,1+kol-1];
r:=sh.raNGE[c1,c2];
r.value:=mass; sh.columns.autofit;
d1:=wb.sheets[3].cells[1,1];
d2:=wb.sheets[3].cells[4,2];
sh.cells[str+ 14,2]:='Итого='+label10.Caption;
sh.columns.autofit;
e.visible:=true;

 end;

end;

  end;

procedure TForm7.Edit1Change(Sender: TObject);
begin
Label10.Caption := IntToStr(StrToInt(Label10.Caption)+100*StrToInt(Edit1.text));
end;

procedure TForm7.FormShow(Sender: TObject);
begin
DataModule2.ADOZakIzdDet.filtered:=false;
DataModule2.ADOIzdelia.Filtered:=false;
DataModule2.ADODetali.filtered:=false;
DBGrid2.Visible:=false;
dateTimePicker1.Date:=date;
dateTimePicker2.MinDate:=date+1;
dateTimePicker3.MinDate:=date+2;
Edit1.Visible:=false;
label12.Visible:=false;
dbLookupCombobox3.Visible:=false;
bitbtn3.Visible:=false;
 bitbtn1.Visible:=false;
end;

end.



Вот мой нужный едит с нужной мне формулой:

Код

procedure TForm7.Edit1Change(Sender: TObject);
begin
Label10.Caption := IntToStr(StrToInt(Label10.Caption)+100*StrToInt(Edit1.text));
end;



Ну вот подробнее получается в самом "Едите"я ввожу нужное мне число оно еге перемножает и добавляет в лэйбл и все нормально отображает но как только нажимаю отчет "Button1Click" он этот един не подсчитывает...
 
Помогите резазобраться или указать место где надо исправить=)
всем спасибо=))
PM MAIL Skype   Вверх
tht
Дата 19.5.2010, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 10.5.2006

Репутация: нет
Всего: 1



а ты дебагить пробовал до этого места ? с просмотром содержания переменных через Watch
может быть проблема в сложности кострукции кода, может воспользоваться переменными ? чем напрямую из Едитов, то есть из едитов в переменные данные передаешь и уже с самими переменными делаешь операции.

Это сообщение отредактировал(а) tht - 19.5.2010, 13:00
PM MAIL   Вверх
xpamoi
Дата 19.5.2010, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 8.6.2009
Где: Vladivostok city

Репутация: нет
Всего: нет



Да вроде нормально все было?!
PM MAIL Skype   Вверх
tht
Дата 19.5.2010, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 10.5.2006

Репутация: нет
Всего: 1



попробуй переменным передать значения и уже с в переменных сделать нужные операции ? чо будет ?
PM MAIL   Вверх
xpamoi
Дата 19.5.2010, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 8.6.2009
Где: Vladivostok city

Репутация: нет
Всего: нет



Чет ничерта не получается... smile 
PM MAIL Skype   Вверх
xpamoi
Дата 19.5.2010, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 8.6.2009
Где: Vladivostok city

Репутация: нет
Всего: нет



Сделал так:
создал еще один лэйбл и в него записывал сумму данного кода. после его плюсовал к предыдущему лейблу


Код

sh.cells[str+ 14,2]:='Итого='+IntToStr(StrToInt(Label10.Caption)+StrToInt(lablel13.Caption));


Вроде как работает=)) грубовато но главное результат=))



Это сообщение отредактировал(а) xpamoi - 19.5.2010, 16:59
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0447 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.