确定按钮点击实现代码如下:
procedure TfrmcbyCB.BitBtn6Click(Sender: TObject);//bibtn6、4、8分辨完成三种能源的抄表。
var djjetmp:string;
begin
inherited;
//首先判断各个输入窗口是否为空,如果为空提示无法抄表
if ((combobox13.text<>'') and (combobox14.text<>'') and (combobox15.text<>'') and (combobox16.text<>'') and (combobox17.text<>'') and (combobox18.text<>'') and (edit9.text<>'') and (edit10.text<>'') and (edit11.text<>'') and (edit12.text<>'')) then
begin
//判断时候否为第一次抄表,
if not GetYNfirst(combobox18.text,'W') then
begin //如果是第一次抄表,采用向此表中添加一条数据的策略。
try
begin
with dm.ADODs2 do
begin
//'select bmc as 表名称,yzxm as 所属业主,dj as 单价,blx as 表类型,dw as 单位,ysbs as 原始表数,mqbs as 目前表数,sjyl as 实际用量,je as 金额,cbrq as 抄表日期,jfrq as 缴费日期,'+
//'cbr as 抄表人,qsr as 签收人,xqh as 所在小区名,lh as 楼号,dyh as 单元号,fjh as 房间号,bdm as 表代码 from cbsfxx where blx=''水''';
append;//采用append方式插入
FieldByName('表名称').Value:=bbhgetbmc(combobox18,djjetmp);
FieldByName('所属业主').Value:=combobox17.Text;
FieldByName('单价').Value:=djjetmp;
FieldByName('表类型').Value:='水';
FieldByName('单位').Value:='吨';//安装表单元中有个函数可以返回。
FieldByName('原始表数').Value:=edit9.text;
FieldByName('目前表数').Value:=edit10.text;
FieldByName('实际用量').Value:=edit11.text;
FieldByName('金额').Value:=edit12.text;
FieldByName('抄表日期').Value:=datetimeToStr(now);
FieldByName('缴费日期').Value:='2006-01-01 00:00:00';
FieldByName('抄表人').Value:=dm.Guser;
FieldByName('签收人').Value:='未曾缴费';
FieldByName('所在小区名').Value:=combobox13.Text;
FieldByName('楼号').Value:=combobox14.Text;
FieldByName('单元号').Value:=combobox15.Text;
FieldByName('房间号').Value:=combobox16.Text;
FieldByName('表代码').Value:=combobox18.text;
FieldByName('交费次数').Value:='';
FieldByName('上次缴费').Value:='0';
FieldByName('上次找零').Value:='0';
FieldByName('代收费业务名').Value:='暂无';
FieldByName('代收费金额').Value:='0';
post;//插入结束post保存
setProccessBar;
dm.SetLogFile(dm.Glogontime,datetimetostr(now),dm.Guser,'抄水表成功(insert)->'+combobox18.text);
end;
end;
except
begin
showmessage('数据库操作失败');
end;
end;
end
else//如果不是第一次录入则采用edit方式修改这条数据。
begin
try
begin
with dm.ADODs2 do
begin
active:=false;
CommandText :='select bmc as 表名称,yzxm as 所属业主,dj as 单价,blx as 表类型,dw as 单位,ysbs as 原始表数,mqbs as 目前表数,sjyl as 实际用量,je as 金额,tmp1 as 上次缴费,tmp2 as 上次找零,tmp3 as 代收费业务名,tmp4 as 代收费金额,cbrq as 抄表日期,jfrq as 缴费日期,'+
'cbr as 抄表人,qsr as 签收人,xqh as 所在小区名,lh as 楼号,dyh as 单元号,fjh as 房间号,bdm as 表代码 from cbsfxx where blx=''水'' and bdm='''+ComboBox18.text+'''';
active:=true;
edit;
FieldByName('原始表数').Value:=edit9.text;//如果不是第一次抄表,首先将原始表数为上次的目前表数。
FieldByName('目前表数').Value:=edit10.text;//将目前表述
FieldByName('实际用量').Value:=edit11.text;
图5—10 抄表流程图
FieldByName('金额').Value:=edit12.text;
FieldByName('抄表日期').Value:=datetimeToStr(now);
FieldByName('签收人').Value:='未缴费';
//FieldByName('缴费日期').Value:='2006-01-01 00:00:00';//将在操作员收费的时候对此数值进行修改,
//通过判断抄表时间和收费时间的先后,判断业主是否缴费,抄表大于缴费:没有收费;抄表小于缴费:已经缴费。
FieldByName('抄表人').Value:=dm.Guser;
post;
dm.SetLogFile(dm.Glogontime,datetimetostr(now),dm.Guser,'抄水表成功(update)->'+combobox18.text);
setProccessBar;
end;
end;
except
begin
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>