知识大全 经典案例 财务管理系统(12)[3]

Posted

篇首语:刑天舞干戚,猛志固常在。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 经典案例 财务管理系统(12)[3]相关的知识,希望对你有一定的参考价值。

  // 在输入分录表时调用DLL中的表格 选择科目名称和号码

  procedure TDocuInput StringGrid DblClick(Sender: TObject);

  var

  showForm:TShowDllForm;

  module:Thandle;

  begin

  //只有双击指定列才有效

  if curCol<> then exit;

  //读入DLL

  module:=loadlibrary( sec dll );

  //如果读入错误 则module会是一个小于的错误代码

  //由此可以判断是否读入成功

  if module< then exit;

  @showForm:=getprocaddress(module pchar( ));

  if @showForm=nil then exit;

  //通过DLL传递参数

  stringgrid Cells[ curRow]:=showForm(application Handle 选择科目名称科目表 );

  //为科目代码添加科目名称

  adoquery Close;

  adoquery SQL Clear;

  adoquery SQL Add( select 科目名称 from 科目表 where 科目代码

  = +stringgrid Cells[ curRow]+ );

  adoquery Open;

  stringgrid Cells[ curRow]:=adoquery fieldbyname( 科目名称 ) AsString;

  end;

  // 对分录表进行插入和修改时所执行的操作

  procedure TDocuInput OpType(opname: string);

  var

  i:integer;

  inputval outputval oldnum:string;

  begin

  //如果是新增凭证 则直接将分录表中的数据逐条插入

  if opname= insert then

  begin

  for i:= to do

  begin

  //如果表格中为空 则跳出循环

  if stringgrid Cells[ i]= then continue;

  inputval:=stringgrid cells[ i];

  outputval:=stringgrid cells[ i];

  //插入数据 由于借方和贷方数据在sql server中为money 故需要进行转换

  adomand CommandText:= insert into 分录表([凭证编号] [科目代码]

  [借方] [贷方] [摘要]) values( +dbedit Text+

  +stringgrid Cells[ i]+ cast( +inputval+ as money)

  cast( +outputval+ as money) +stringgrid Cells[ i]+ ) ;

  adomand Execute;

  end;

  end;

  if opname= edit then

  begin

  for i:= to do

  begin

  if stringgrid Cells[ i]= then continue;

  inputval:=stringgrid cells[ i];

  outputval:=stringgrid cells[ i];

  //对凭证所属的分录表原有数据进行更新

  if i<=recordnum then

  adomand CommandText:= update 分录表 set [科目代码]

  = +stringgrid cells[ i]+ [借方]=cast( +inputval+ as money)

  [贷方]=cast( +outputval+ as money) [摘要]= +stringgrid Cells[ i]

  + where 编号= +mytable[i]+

  else

  //插入凭证所属的分录表中的新数据

  adomand CommandText:= insert into 分录表([凭证编号] [科目代码]

  [借方] [贷方] [摘要]) values( +dbedit Text+

  +stringgrid Cells[ i]+ cast( +inputval+ as money)

  cast( +outputval+ as money) +stringgrid Cells[ i]+ ) ;

  adomand Execute;

  end;

  end;

  end;

[ ]  [ ]  [ ]  

cha138/Article/program/Delphi/201311/25019

相关参考

知识大全 经典案例 财务管理系统(12)[1]

    ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>  //修改记录  procedureTDocuInputToo

知识大全 经典案例 财务管理系统(3)

    ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>  根据以上需求分析一个基本的财务管理系统数据库中大致包括多张数

知识大全 经典案例 财务管理系统(9)[3]

  //首记录  procedureTSecSettingToolButtonClick(Sender:TObject);  begin  datasourceDataSetFirst;  end; 

知识大全 经典案例 财务管理系统(13)[3]

  //对数据进行统计  procedureTSumAccountsumtable;  var  counti:integer;  valvalvalvalvalval:double;  begin 

知识大全 经典案例 财务管理系统(14)[3]

  //设置工具栏按钮  procedureTDocuInputSetToolBar(isEnable:bool);  begin  ifisEnable=truethen  begin  //将首记

知识大全 经典案例 财务管理系统(7)[3]

    ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>  //显示试算平衡表窗体  procedureTmainNCl

知识大全 经典案例 财务管理系统(15)[3]

  //对分录表进行插入和修改时所执行的操作  procedureTDocuInputOpType(opname:string);  var  i:integer;  inputvaloutputva

知识大全 经典案例 财务管理系统(10)[3]

  //在初始化时统计工作的完成  procedureTSumAccountforinitial;  begin  //根据不同的状态设置SQL代码以计算不同的平衡情况  adoqueryClose;

知识大全 经典案例 财务管理系统(6)[3]

  如果科目代码不是这样则该存储过程需要作相应的修改  deletefrom资产负债表where会计期间=@kjqj  insertinto资产负债表(会计期间)values(@kjqj)  upda

知识大全 经典案例 财务管理系统(4)

    ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>  基于以上需求分析和数据库分析读者对一个标准的财务管理系统应该