电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

完成明细帐查询功能[2]


发布日期:2018/2/22
 

//查询数据并显示

procedure TDetailAccountBitBtnClick(Sender: TObject);

begin

adoqueryClose;

adoquerySQLClear;

adoquerySQLAdd(select a*b科目名称 from 本期明细帐簿 a科目表 b

where (a科目代码 like %+editText+%)and);

adoquerySQLAdd((a科目代码=b科目代码));

adoqueryOpen;

//清除设置的数据过滤器并重新设置列表

datasourceDataSetFiltered:=false;

setlist();

end;

//窗体显示时向左边列表框中添加科目名称

procedure TDetailAccountFormShow(Sender: TObject);

begin

setlist();

end;

//将数据集中已有的科目名称添加到列表中

procedure TDetailAccountsetlist;

var

name:string;

begin

listboxClear;

listboxClear;

while not adoqueryEof do

begin

name:=adoqueryfieldbyname(科目名称)AsString;

//如果列表中没有该名称则添加若已有则不做任何动作

if listboxItemsIndexOf(name)= then

listboxItemsInsert(listboxItemsCountname);

adoqueryNext;

end;

end;

//选中一个科目名称并允许将其添加到右边的列表中

procedure TDetailAccountListBoxClick(Sender: TObject);

begin

if listboxItemsCount<> then

buttonEnabled:=true;

end;

//选中一个科目名称并允许从右边的列表中删除它

procedure TDetailAccountListBoxClick(Sender: TObject);

begin

if listboxItemsCount<> then

buttonEnabled:=true;

end;

//在右边的列表中添加某一项

procedure TDetailAccountButtonClick(Sender: TObject);

var

name:string;

begin

name:=listboxItemsStrings[listboxItemIndex];

//若右边的列表框不存在该项再向其中添加

if listboxItemsIndexOf(name)= then

listboxItemsInsert(listboxItemsCountname);

//允许在表中根据选择的项进行显示

bitbtnEnabled:=true;

end;

//在右边的列表中删除某一项

procedure TDetailAccountButtonClick(Sender: TObject);

begin

//若不为空则可以将名称项从列表中删除

if listboxItemsCount<> then

listboxItemsDelete(listboxItemIndex);

//若右边列表已空则将按钮变灰(不可用)

if listboxItemsCount= then

begin

buttonEnabled:=false;

bitbtnEnabled:=false;

end;

end;

//根据选择的项显示数据

procedure TDetailAccountBitBtnClick(Sender: TObject);

var

filstr:string;

i:integer;

begin

filstr:=;

//根据列表中内容设置数据集的过滤项并过滤

for i:= to listboxCount do

begin

filstr:=filstr+科目名称=+listboxItemsStrings[i]+;

if i<>listboxCount then

filstr:=filstr+ OR ;

end;

datasourceDataSetFilter:=filstr;

datasourceDataSetFiltered:=true;

end;

[] []

上一篇:完成明细帐查询功能[1]

下一篇:如何制作可随处拖放的工具栏