——此文章摘自《Delphi 数据库开发经典案例解析》定价¥特价¥购买>> () 新建一个窗体将窗体的Name属性设置为TotalAccount选择Project | Options菜单命令将TotalAccount窗体从自动创建的窗体列表中删除将窗体保存为TotalAccount Formpas该窗体的控件布局和设置如图所示 图 总分类帐查询窗体 () 窗体控件属性设置如表所示 总分类查询主要实现的是查询总分类帐不需要编辑所以【编辑】【新增】等按钮在这里用不到设置为false同时由于凭证过帐时将大量没有发生金额的数据也放入了数据表中为了用户查阅时方便这里设置了一个过滤数据的功能当窗体中的【无发生金额不显示】单选框被选中时只有余额不为的数据项被显示在表格中该窗体的处理代码如下所示 implementation {$R *dfm} procedure TTotalAccountFormClose(Sender: TObject; var Action: TCloseAction); begin action:=cafree; end; //设置表的宽度 procedure TTotalAccountDataSourceDataChange(Sender: TObject; Field: TField); begin //显示数据数量 labelCaption:=inttostr(adoqueryRecordCount); //设置数据表宽度 dbgridColumns[]Width:=; dbgridColumns[]Width:=; dbgridColumns[]Width:=; dbgridColumns[]Width:=; dbgridColumns[]Width:=; dbgridColumns[]Width:=; dbgridColumns[]Width:=; dbgridColumns[]Width:=; dbgridColumns[]Width:=; end; //首记录 procedure TTotalAccountToolButtonClick(Sender: TObject); begin datasourceDataSetFirst; end; //上记录 procedure TTotalAccountToolButtonClick(Sender: TObject); begin datasourceDataSetPrior; end; //下记录 procedure TTotalAccountToolButtonClick(Sender: TObject); begin datasourceDataSetNext; end; //尾记录 procedure TTotalAccountToolButtonClick(Sender: TObject); begin datasourceDataSetLast; end; procedure TTotalAccountToolButtonClick(Sender: TObject); begin close; end; //查询数据并显示 procedure TTotalAccountBitBtnClick(Sender: TObject); begin adoqueryClose; adoquerySQLClear; adoquerySQLAdd(select a*b科目名称 from 本期汇总帐簿 a科目表 b where (a科目代码 like %+editText+%)and); adoquerySQLAdd((a科目代码=b科目代码)); adoqueryOpen; end; //根据用户的操作对表中的数据进行过滤 procedure TTotalAccountCheckBoxClick(Sender: TObject); begin if checkboxChecked then begin datasourceDataSetFilter:=余额<>; datasourceDataSetFiltered:=true; end else datasourceDataSetFiltered:=false; end; |