⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 conbrowse.~pas

📁 书籍类别(种类编号
💻 ~PAS
📖 第 1 页 / 共 5 页
字号:
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 + -