?? bustradezhyearrepunit.~pas
字號:
unit BusTradeZHYearRepUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ADODB, DB, ComCtrls, StdCtrls, Buttons, ExtCtrls;
type
TBusTradeZHYearRepFrm = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Label1: TLabel;
Panel4: TPanel;
Label2: TLabel;
Panel3: TPanel;
Label17: TLabel;
ComboBox1: TComboBox;
Panel5: TPanel;
BitBtn17: TBitBtn;
BitBtn3: TBitBtn;
BitBtn5: TBitBtn;
BitBtn4: TBitBtn;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
ListView1: TListView;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
TabSheet2: TTabSheet;
ListView2: TListView;
TabSheet5: TTabSheet;
ListView3: TListView;
TabSheet6: TTabSheet;
ListView4: TListView;
TabSheet7: TTabSheet;
ListView5: TListView;
TabSheet8: TTabSheet;
ListView6: TListView;
TabSheet3: TTabSheet;
ListView7: TListView;
TabSheet4: TTabSheet;
ListView8: TListView;
ADOQuery: TADOQuery;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
ADOCommand1: TADOCommand;
ADOQuery3: TADOQuery;
ADOCommand2: TADOCommand;
Label3: TLabel;
Label4: TLabel;
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn17Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
private
procedure FillDatatoTable(List:TListView);
procedure initialcolumn(List:TListView);
procedure Insertnum1();
procedure Insertnum2();
procedure Insertnum3();
procedure FillDatatoZTable();
procedure FillMonDataToList();
public
procedure OutputDataToE(iSouList:TListView;iCellRows:Integer;iRowsCou:Integer;iCellCols:Integer);
end;
var
BusTradeZHYearRepFrm: TBusTradeZHYearRepFrm;
implementation
uses PrintProc, BusTradeDataModuleUnit, PrintInfoUnit;
{$R *.dfm}
procedure TBusTradeZHYearRepFrm.BitBtn5Click(Sender: TObject);
var sqlstr:string;
j,iRow,iExistFlag:integer;
begin
if(combobox1.Text='')then
begin
showmessage('請選擇年份!');
exit;
end else
begin
if(length(combobox1.Text)<>4)then
begin
showmessage('對不起,您所輸入的年份不正確!');
exit;
end else
begin
try
strtoint(combobox1.text);
except
showmessage('對不起,您所輸入的年份不正確!');
exit;
end;
end;
end;
//開始判斷
sqlstr:='select 指標代碼,全年實際 from 公交行業綜合年報_z where 統計年份='
+combobox1.text;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sqlstr);
ADOQuery1.Open;
if(ADOQuery1.RecordCount<=0)then
begin
showmessage('對不起,不存在'+combobox1.text+'年綜合年報數據!');
BitBtn4.Enabled:=false;
exit;
end else
begin
iExistFlag:=0;
ADOQuery1.First;
for iRow:=0 to ADOQuery1.recordcount-1 do
begin
if(ADOQuery1.FieldByName('全年實際').asstring<>'0')then
begin
iExistFlag:=1;
break;
end;
ADOQuery1.Next;
end;
end;
if(iExistFlag=0)then
begin
showmessage('對不起,不存在'+combobox1.text+'年綜合年報數據!');
BitBtn4.Enabled:=false;
exit;
end;
BitBtn4.Enabled:=true;
// 從數據庫中取數據添加到ListView中
for j:=0 to ADOQuery1.recordcount-1 do
begin
if(j>=0)and (j<=21)then
begin
if(ADOQuery1.fieldbyname('全年實際').AsString='')then
begin
ListView1.Items[j].SubItems[2]:='0';
end else
ListView1.Items[j].SubItems[2]:=Converter(ADOQuery1.fieldbyname('全年實際').AsString);
end;
if(j>=22)and (j<=43)then
begin
if(ADOQuery1.fieldbyname('全年實際').AsString='')then
begin
ListView2.Items[j-22].SubItems[2]:='0';
end else
ListView2.Items[j-22].SubItems[2]:=Converter(ADOQuery1.fieldbyname('全年實際').AsString);
end;
if(j>=44)and (j<=65)then
begin
if(ADOQuery1.fieldbyname('全年實際').AsString='')then
begin
ListView3.Items[j-44].SubItems[2]:='0';
end else
ListView3.Items[j-44].SubItems[2]:=Converter(ADOQuery1.fieldbyname('全年實際').AsString);
end;
if(j>=66)and (j<=87)then
begin
if(ADOQuery1.fieldbyname('全年實際').AsString='')then
begin
ListView4.Items[j-66].SubItems[2]:='0';
end else
ListView4.Items[j-66].SubItems[2]:=Converter(ADOQuery1.fieldbyname('全年實際').AsString);
end;
if(j>=88)and (j<=109)then
begin
if(ADOQuery1.fieldbyname('全年實際').AsString='')then
begin
ListView5.Items[j-88].SubItems[2]:='0';
end else
ListView5.Items[j-88].SubItems[2]:=Converter(ADOQuery1.fieldbyname('全年實際').AsString);
end;
if(j>=110)and (j<=132)then
begin
if(ADOQuery1.fieldbyname('全年實際').AsString='')then
begin
ListView6.Items[j-110].SubItems[2]:='0';
end else
ListView6.Items[j-110].SubItems[2]:=Converter(ADOQuery1.fieldbyname('全年實際').AsString);
end;
if(j>=133)and (j<=155)then
begin
if(ADOQuery1.fieldbyname('全年實際').AsString='')then
begin
ListView7.Items[j-133].SubItems[2]:='0';
end else
ListView7.Items[j-133].SubItems[2]:=Converter(ADOQuery1.fieldbyname('全年實際').AsString);
end;
if(j>=156)and (j<=178)then
begin
if(ADOQuery1.fieldbyname('全年實際').AsString='')then
begin
ListView8.Items[j-156].SubItems[2]:='0';
end else
ListView8.Items[j-156].SubItems[2]:=Converter(ADOQuery1.fieldbyname('全年實際').AsString);
end;
ADOQuery1.Next;
end;
end;
procedure TBusTradeZHYearRepFrm.BitBtn17Click(Sender: TObject);
var sqlstr,sqlstr1,sqlstr2,sqlstr3:string;
j,iRow,iExistFlag:integer;
begin
if(combobox1.Text='')then
begin
showmessage('請選擇年份!');
exit;
end else
begin
if(length(combobox1.Text)<>4)then
begin
showmessage('對不起,您所輸入的年份不正確!');
exit;
end else
begin
try
strtoint(combobox1.text);
except
showmessage('對不起,您所輸入的年份不正確!');
exit;
end;
end;
end;
//開始判斷是否存在綜合年報數據
sqlstr:='select 指標代碼,全年實際 from 公交行業綜合年報_z where 統計年份='+ Combobox1.text;
ADOQuery.Close;
ADOQuery.SQL.Clear;
ADOQuery.SQL.add(sqlstr);
ADOQuery.Open;
if(ADOQuery.recordcount>0)then
begin
for iRow:=0 to ADOQuery.recordcount-1 do
begin
if(ADOQuery.FieldByName('全年實際').AsString<>'')then
begin
iExistFlag:=1;
break;
end;
ADOQuery.Next;
end;
end;
if(iExistFlag=1)then
begin
if(MessageDlg('數據庫中已經存在該年綜合年報,是否覆蓋?',mtConfirmation,[mbYes, mbNo],0) = mrNo)then
begin
BitBtn5Click(nil);
exit;
end else
begin
BusTradeDataModule.ADOConnection1.BeginTrans;
ADOCommand1.CommandText:='delete from 公交行業綜合年報_z where 統計年份='
+combobox1.text;
ADOCommand1.Execute;
ADOCommand1.CommandText:='delete from 公交行業綜合年報表 where 統計年份='
+combobox1.text+' and 生成方式='+''''+'生成'+'''';
ADOCommand1.Execute;
BusTradeDataModule.ADOConnection1.CommitTrans;
end;
end;
iExistFlag:=0;
//結束判斷綜合年報
//開始判斷行業年報中是否有數據
sqlstr1:='select 指標代碼,全年實際 from 公交行業統計年報_z where 統計年份='
+Combobox1.text+' and 城市代碼='+''''+'022'+''''+' order by 指標代碼';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sqlstr1);
ADOQuery1.Open;
if(ADOQuery1.RecordCount<=0)then
begin
showmessage('對不起,不存在'+combobox1.text+'年行業年報數據,無法生成綜合年報!');
BitBtn4.Enabled:=false;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -