📄 bustranamebookcomunit.~pas
字号:
unit BusTraNameBookComUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Buttons, ExtCtrls, DB, ADODB;
type
TBusTraNameBookComFm = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel4: TPanel;
Label6: TLabel;
Edit1: TEdit;
Panel5: TPanel;
Label2: TLabel;
Label3: TLabel;
ComboBox1: TComboBox;
Panel6: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Panel3: TPanel;
Label1: TLabel;
Label4: TLabel;
ComboBox2: TComboBox;
Panel7: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
ListView1: TListView;
TabSheet2: TTabSheet;
ListView2: TListView;
TabSheet3: TTabSheet;
ListView3: TListView;
ADOQuery1: TADOQuery;
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
iAddFlag:Integer;
end;
var
BusTraNameBookComFm: TBusTraNameBookComFm;
implementation
uses BusTradeDataModuleUnit, PrintInfoUnit, PrintProc2;
{$R *.dfm}
procedure TBusTraNameBookComFm.BitBtn3Click(Sender: TObject);
begin
Close;
end;
procedure TBusTraNameBookComFm.BitBtn1Click(Sender: TObject);
var
iYear:String;
iLYear:String;
sqlString:String;
iRow:integer;
iEspItem:String;
begin
iYear:=ComboBox2.Text;
iLYear:=ComboBox1.Text;
if ((Length(iYear) <> 4) or (iYear<'1990') or (iYear >'2030')) then
begin
ShowMessage('报告期年份不正确,请输入1990-2030内的合法年份!');
exit;
end
else if ((Length(iLYear) <> 4) or (iLYear<'1990') or (iLYear >'2030')) then
begin
ShowMessage('基期年份不正确,请输入1990-2030内的合法年份!');
exit;
end;
sqlString:= 'select 指标代码,本年合计 from 公交行业名录统计年报表_z where '
+ ' 城市代码=' + '''' + '022' + '''' + ' and 统计年份=' + iYear + ' order by 指标代码';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sqlString);
ADOQuery1.Open;
if ADOQuery1.RecordCount=0 then
begin
ShowMessage('不存在' + iYear + '年的名录统计年报数据,请先生成!');
if iAddFlag=1 then
begin
ClearData(ListView1,19,0,4,1);
ClearData(ListView2,21,0,4,1);
ClearData(ListView3,17,0,4,1);
end;
BitBtn2.Enabled:=false;
exit;
end;
sqlString:= 'select 指标代码,本年合计,企业注册资本金 from 公交行业名录统计年报表_z where '
+ ' 城市代码=' + '''' + '022' + '''' + ' and 统计年份=' + iLYear + ' order by 指标代码';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sqlString);
ADOQuery1.Open;
if ADOQuery1.RecordCount=0 then
begin
ShowMessage('不存在' + iLYear + '年的名录统计年报数据,请先生成!');
if iAddFlag=1 then
begin
ClearData(ListView1,19,0,4,1);
ClearData(ListView2,21,0,4,1);
ClearData(ListView3,17,0,4,1);
end;
BitBtn2.Enabled:=false;
exit;
end;
{else
begin
ADOQuery1.First;
for iRow := 0 to ADOQuery1.RecordCount-1 do
begin
if (ADOQuery1.FieldByName('本年合计').Value=0) or (ADOQuery1.FieldByName('企业注册资本金').Value=0) then
begin
ShowMessage('基期数据不能为零,请检查相应数据!');
if iAddFlag=1 then
begin
ClearData(ListView1,19,0,4,1);
ClearData(ListView2,21,0,4,1);
ClearData(ListView3,17,0,4,1);
end;
exit;
end;
ADOQuery1.Next;
end;
end;
}
{单位个数比较}
sqlString:= ' select a.指标代码,a.本年合计 as 报告期,b.本年合计 as 基期,(报告期-基期) as 比较 '//,(报告期-基期)/基期*100 as 百分比'
+ ' from 公交行业名录统计年报表_z a,公交行业名录统计年报表_z b'
+ ' where a.统计年份=' + iYear + ' and b.统计年份=' + iLYear + ' and a.城市代码=' + '''' + '022' + ''''
+ ' and b.城市代码=a.城市代码 and b.指标代码=a.指标代码 order by a.指标代码';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sqlString);
ADOQuery1.Open;
{单位个数数据写入ListView}
for iRow:=0 to ADOQuery1.RecordCount-1 do
begin
iAddFlag:=1;
if (iRow>=0) and (iRow<=18) then
begin
if ListView1.Items[iRow].SubItems.Count<5 then
begin
ListView1.Items[iRow].SubItems.Add(Converter(ADOQuery1.FieldByName('报告期').AsFloat));
ListView1.Items[iRow].SubItems.Add(Converter(ADOQuery1.FieldByName('基期').AsFloat));
ListView1.Items[iRow].SubItems.Add(Converter(ADOQuery1.FieldByName('比较').AsFloat));
ListView1.Items[iRow].SubItems.Add('0');
end
else
begin
ListView1.Items[iRow].SubItems[1]:= Converter(ADOQuery1.FieldByName('报告期').AsFloat);
ListView1.Items[iRow].SubItems[2]:= Converter(ADOQuery1.FieldByName('基期').AsFloat);
ListView1.Items[iRow].SubItems[3]:= Converter(ADOQuery1.FieldByName('比较').AsFloat);
ListView1.Items[iRow].SubItems[4]:= '0';
end;
end
else if (iRow>=19) and (iRow<=39) then
begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -