📄 conbrowse.~pas
字号:
var
ResSubList :TStringList;
TempStr,
TempNO :string;
i :integer;
begin
with DM do
begin
ResSubList:=TStringList.Create;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from '+TableName);
ADOQuery1.Open;
while not ADOQuery1.Eof do
begin
TempNO:=Copy(ADOQuery1.FieldValues['Subtype'],0,2);
if TempNo=KeyWord then
ResSubList.Add(ADOQuery1.FieldValues['SContent']);
ADOQuery1.Next;
end;
for i:=0 to ResSubList.Count -1 do //遍历列表对象
begin
TempStr:=ResSubList.Strings[i];
TreeView1.Items.AddChild(Node,TempStr);
end;
ResSubList.Free;
end;
end;
procedure TConForm.GetResMainList(MTableName:string;STableName:string);
var
MainListName,
MainListNO :TStringList;
i:integer;
TempStr,
TempNO,
SQLStr :string;
Node :TTreeNode; //定义树形目录对象变量
begin
TreeView1.Items.Clear; //清空树形对象列表
with DM do
begin
SQLStr:='select MContent,Maintype from '+MTableName;
MainListName:=TStringList.Create; //创建字符串对象实例
MainListNO:=TStringList.Create;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(SQLStr);
ADOQuery1.Open;
while not ADOQuery1.Eof do
begin
MainListName.Add(ADOQuery1.FieldValues['MContent']);
MainListNO.Add(ADOQuery1.FieldValues['Maintype']);
ADOQuery1.Next;
end;
for i:=0 to MainListName.Count -1 do
begin
TempStr:=MainListName.Strings[i];
TempNO:=MainListNO.Strings[i];
Node:=TreeView1.Items.Add(TreeView1.Selected,TempStr);
GetResSubList(Node,STableName,TempNO); //调用获取子目录列表
end;
MainListName.Free;
MainListNO.Free; //释放实例对象
end;
end;
procedure TConForm.TreeView1Click(Sender: TObject);
var
IndexName,
SQLStr,SQLstr1 :string;
begin
//////////////////////////////////////////////////////////////////
if TreeView1.Selected.Level=1 then
Label25.Caption:= TreeView1.Selected.Parent.Text+'-'+TreeView1.Selected.Text
else
Label25.Caption:= TreeView1.Selected.Text;
//////////////////////////////////////////////////////////////////
try //判断树形目录是否含有子目录
// if TreeView1.Selected.HasChildren=false then begin
IndexName:=TreeView1.Selected.Text;
ProName:=IndexName;
if TreeView1.Selected.Level=0 then begin
SQLStr:='SELECT * from contract'+
' INNER JOIN (SELECT * from ResourseMaintype '+
' where MContent='+''''+IndexName+''''+') A'+
' ON contract.Main_id=A.Maintype';
SQLStr1:='SELECT sum(remain) as SumRemain from contract'+
' INNER JOIN (SELECT * from ResourseMaintype '+
' where MContent='+''''+IndexName+''''+') A'+
' ON contract.Main_id=A.Maintype';
end;
with DM do
begin
if TreeView1.Selected.Level=1 then begin
SQLStr:='SELECT * from contract'+
' INNER JOIN (SELECT * from ResourceSubtype '+
' where SContent='+''''+IndexName+''''+') A'+
' ON contract.Resource_id=A.Subtype';
SQLStr1:='SELECT sum(remain) as SumRemain from contract'+
' INNER JOIN (SELECT * from ResourceSubtype '+
' where SContent='+''''+IndexName+''''+') A'+
' ON contract.Resource_id=A.Subtype';
end;
ADOQuery5.Close;
ADOQuery5.SQL.Clear;
ADOQuery5.SQL.Add(SQLStr1);
ADOQuery5.Open;
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add(SQLStr+' order by ConstructUnit');
ADOQuery2.Open;
str888:=SQLStr;
DataSource1.DataSet :=ADOQuery2;
DBGrid1.DataSource :=DataSource1;
DBGrid1.Columns.Items[0].FieldName :='Connumber';
DBGrid1.Columns.Items[0].Width :=DBGrid1.Width div 12;
DBGrid1.Columns.Items[1].FieldName :='Connumber_1';
DBGrid1.Columns.Items[1].Width :=DBGrid1.Width div 12;
DBGrid1.Columns.Items[2].FieldName :='ItemName';
DBGrid1.Columns.Items[2].Width :=DBGrid1.Width div 12;
DBGrid1.Columns.Items[3].FieldName :='ConstructUnit';
DBGrid1.Columns.Items[3].Width :=DBGrid1.Width div 11;
DBGrid1.Columns.Items[4].FieldName :='BeAudit';
DBGrid1.Columns.Items[4].Width :=100;
DBGrid1.Columns.Items[5].FieldName :='AfAudit';
DBGrid1.Columns.Items[5].Width :=100;
DBGrid1.Columns.Items[6].FieldName :='AfAuditPay';
DBGrid1.Columns.Items[6].Width :=100;
DBGrid1.Columns.Items[7].FieldName :='Payed';
DBGrid1.Columns.Items[7].Width :=DBGrid1.Width div 11;
DBGrid1.Columns.Items[8].FieldName :='BePayed';
DBGrid1.Columns.Items[8].Width :=100;
DBGrid1.Columns.Items[9].FieldName :='ThisYear';
DBGrid1.Columns.Items[9].Width :=80;
DBGrid1.Columns.Items[10].FieldName :='Remain';
DBGrid1.Columns.Items[11].FieldName :='benyue';
DBGrid1.Columns.Items[11].Width :=DBGrid1.Width div 12;
DBGrid1.Columns.Items[12].FieldName :='BSQK';
DBGrid1.Columns.Items[12].Width :=DBGrid1.Width div 12;
DBGrid1.Columns.Items[13].FieldName :='SignTime';
DBGrid1.Columns.Items[14].FieldName :='ConPerson';
DBGrid1.Columns.Items[14].Width :=DBGrid1.Width div 12;
DBGrid1.Columns.Items[15].FieldName :='locate';
DBGrid1.Columns.Items[15].Width :=DBGrid1.Width div 12;
DBGrid1.Columns.Items[16].FieldName :='Fulfill';
DBGrid1.Columns.Items[16].Width :=DBGrid1.Width div 12;
DBGrid1.Columns.Items[17].FieldName :='acceptance';
DBGrid1.Columns.Items[17].Width :=100;
DBGrid1.Columns.Items[18].FieldName :='tel';
DBGrid1.Columns.Items[18].Width :=DBGrid1.Width div 12;
str888_1:=100;
end;
if DM.ADOQuery2.RecordCount>0 then
mainForm.statusBar1.Panels.Items[2].Text :='共计 '+inttostr(DM.ADOQuery2.RecordCount)+' 条记录 余额共计 '+string(DM.ADOQuery5.FieldValues['SumRemain'])+' 元'
else
mainForm.statusBar1.Panels.Items[2].Text :='共计 0 条记录 余额共计 0 元';
except //提示出错信息
end;
end;
procedure TConForm.N1Click(Sender: TObject);
begin
mainForm.N7Click(Sender);
end;
procedure TConForm.N2Click(Sender: TObject);
begin
mainForm.N9Click(Sender);
end;
procedure TConForm.N3Click(Sender: TObject);
begin
mainForm.N4Click(Sender);
end;
procedure TConForm.DBGrid1CellClick(Column: TColumn);
var
SQLStr:string;
begin
button3.Enabled:=false;
button4.Enabled:=false;
RzBitBtn2.Enabled:=false;
RzBitBtn3.Enabled:=false;
if Dm.ADOQuery2.SQL.Text='' then exit;
try
if DBGrid1.SelectedField.DataSet.FieldValues['RID']<>null then begin
if DBGrid1.SelectedField.DataSet.FieldValues['biaoji']=1 then
begin
// showmessage('此项合同已被设置成不能用来记帐!详细记录在合同 '+DBGrid1.SelectedField.DataSet.FieldValues['connumber_1']+' 内');
Edit2.Text:=DBGrid1.SelectedField.DataSet.FieldValues['conNumber_1'];
Edit18.Text:=DBGrid1.SelectedField.DataSet.FieldValues['conNumber_1'];
end
else
begin
Edit2.Text:=DBGrid1.SelectedField.DataSet.FieldValues['ConNumber'];
Edit18.Text:=DBGrid1.SelectedField.DataSet.FieldValues['ConNumber'];
end;
stitle:=DBGrid1.SelectedField.DataSet.FieldValues['ConstructUnit']+'------'+DBGrid1.SelectedField.DataSet.FieldValues['ItemName'];
GroupBox3.Caption:= stitle;
with DM do
begin
SQLStr:='SELECT * from detail where conNumber='''+Edit2.Text+''' order by id ';
detail.Close;
detail.SQL.Clear;
detail.SQL.Add(SQLStr);
detail.Open;
DataSource4.DataSet :=detail;
DBGrid2.DataSource :=DataSource4;
DBGrid2.Columns.Items[0].FieldName :='ConNumber';
DBGrid2.Columns.Items[0].Width :=60;
DBGrid2.Columns.Items[1].FieldName :='jiefang';
DBGrid2.Columns.Items[1].Width :=58;
DBGrid2.Columns.Items[2].FieldName :='daifang';
DBGrid2.Columns.Items[2].Width :=58;
DBGrid2.Columns.Items[3].FieldName :='remain';
DBGrid2.Columns.Items[3].Width :=58;
DBGrid2.Columns.Items[4].FieldName :='adddate';
DBGrid2.Columns.Items[4].Width :=60;
DBGrid2.Columns.Items[5].FieldName :='remark';
DBGrid2.Columns.Items[6].FieldName :='JorD';
DBGrid2.Columns.Items[7].FieldName :='jzpz';
DBGrid2.Columns.Items[8].FieldName :='MarkingContent';
end;
end;
except
end;
end;
//mainForm.N7Click(Sender);
procedure TConForm.ToolButton2Click(Sender: TObject);
begin
DBGrid1DblClick(Sender);
end;
procedure TConForm.DBGrid1DblClick(Sender: TObject);
begin
if Dm.ADOQuery2.SQL.Text='' then exit;
try
if DBGrid1.SelectedField.DataSet.FieldValues['RID']<>null then begin
attr:='Edit';
RID:=DBGrid1.SelectedField.DataSet.FieldValues['RID'];
AddContract:=TAddContract.Create(Self);
AddContract.ShowModal;
end;
except
end;
end;
procedure TConForm.ToolButton3Click(Sender: TObject);
var
BID:string;
m_RecNum2:integer;
begin
// if TreeView1.Selected =nil then Exit;
if DBGrid1.SelectedField.DataSet.FieldValues['RID']<>null then begin
BID:=DBGrid1.SelectedField.DataSet.FieldValues['conNumber'];
with DM do
begin
ADOQuery3.Close;
ADOQuery3.SQL.Clear;
ADOQuery3.SQL.Add('delete Contract where conNumber='''+BID+'''');
StructADOQuery.Close;
StructADOQuery.SQL.Clear;
StructADOQuery.SQL.Add('delete detail where conNumber='''+BID+'''');
if MessageDlg('确定要删除吗?',mtConfirmation, [mbYes, mbNo], 0)= mrYes then begin
ADOQuery3.ExecSQL;
StructADOQuery.ExecSQL;
ShowMessage('数据删除成功!!!');
m_RecNum2:= m_RecNum;
ADOQuery2.Close;
ADOQuery2.Open;
if ADOQuery2.RecordCount>0 then
begin
ADOQuery2.Sort:=m_Sort;
ADOQuery2.RecNo:=m_RecNum2;
end;
detail.Close;
detail.Open;
end
else
Exit;
end;
end;
SetLogs('删除合同信息');
end;
procedure TConForm.ToolButton8Click(Sender: TObject);
var
i,j,k,l,m,n,h,g,d1,d2,s1,s2:integer;
s,bh1,bh2,bh3,bh4,bh5,str999,strnum:string;
Excelid,xl: Variant;
lie:string;
sum1: array[1..20] of integer;
begin
if str888_1=800 then exit;
strnum:='';
for d1:=0 to 20 do begin
sum1[d1]:=0;
end;
Setexcel:=TSetexcel.Create(Self);
Setexcel.ShowModal;
if numberOut=1000 then exit;
if Dm.ADOQuery2.SQL.Text='' then exit;
if MessageDlg('确定要导出数据吗?',mtConfirmation, [mbYes, mbNo], 0)= mrYes then begin
try
Excelid:=CreateOleObject( 'Excel.Application' );
except
on Exception do raise exception.Create('无法创建Xls文件,请确认是否安装EXCEL')
end;
Excelid.Visible := True;
Excelid.WorkBooks.Add;
Excelid.Caption :='财政投资建设项目统计表';
// Excelid.WorksheetName:='TscExcelExport Simple Export 3';
lie:=Convert(numberout);//转换
Excelid.worksheets[1].range['A1:'+lie+'1'].Merge(True);
Excelid.WorkSheets[1].Cells[1,1].Value :='财政投资建设项目统计表' ;
Excelid.worksheets[1].range['A2:'+lie+'2'].Merge(True) ;
if Checkbox6.Checked=true then begin
if FormatDateTime('yyyy',YXEdit1.Date)= FormatDateTime('yyyy',YXEdit.Date) then
Excelid.WorkSheets[1].Cells[2,1].Value :='建设单位:城市发展局'+FormatDateTime('yyyy',YXEdit1.Date)+'年 '+ProName+' '+Datetostr(now)+' 单位:元 '
else
Excelid.WorkSheets[1].Cells[2,1].Value :='建设单位:城市发展局'+FormatDateTime('yyyy',YXEdit1.Date)+'-'+FormatDateTime('yyyy',YXEdit.Date)+'年 '+ProName+' '+Datetostr(now)+' 单位:元 ';
end else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -