
Новичок
Профиль
Группа: Участник
Сообщений: 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" он этот един не подсчитывает... Помогите резазобраться или указать место где надо исправить=) всем спасибо=))
|