📄 修改备注2004-10-08.txt
字号:
--------------------------------以下修改是处理定额增减多选的-----------------------------
建议在以下过程中直接用新的过程赋盖你的程序版本。
(在我现在这个版本中,在Form目录下多加了一个hintx.pas,如果你用你那边的程序的话,就先不加这个单元,如果你用的话的,把hintx.pas 拷到你的form目录下,把xsw_ico.res拷到你的执行文件的目录下,同时在ys.pas,main.pas,Hu_calujs.pas的uses中加入hintx即可。 其中hintx.pas 引用xsw_ico.res)
1、 在单元 hu_pub中修改了以下过程
{设置增减的定额内容 create by xsw at 2004-09-13}
procedure get_zjstrtogrid(const con_str:string; mygrid:Tstringgrid);
{拖拉定额时,显示增减定额,以备进行定额增减处理 create by xsw at 2004-09-14}
procedure showzj_set(mygrid:Tstringgrid; row_x:integer; rem_debh,rem_mrk5,dek_name:string; r_ID:integer);
2、在单元 hu_zjhs中修改了以下过程
procedure Th_zjhs.dis_zjhs_caption(mygrid:Tstringgrid);
procedure Th_zjhs.StringGrid1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure Th_zjhs.UpDown1Click(Sender: TObject; Button: TUDBtnType);
-------------------以下修改是处理说明系数有针对某一材料进行操作的-------------------------
1、HU_xsxmtz.pas 单元的窗体中加入选择窗件,其作用是当选择打勾时可针对某一材料进行调整。
2、ys.pas窗体中的adoqery_de查询控件中加入固定字段Difffare5,Difffare1,Difffare2,Difffare3。
操作如下 打开预算窗体,选中con_bodi连接数据库控件,双击它,然后选择链接数据如[boyi.mdb],
然后再双击adoqery_de查询控件,将弹出一小窗体,在小窗体中单击鼠标右键,此时将会弹出字段选择框,
选择Difffare5,Difffare1,Difffare2,Difffare3后确定即可,最后记得把con_bodi的链接属性给删掉,以免发
生行运错误。
3、 在hu_pub.pas单元中----[添加过程]
//说明系数如果是针对某一条或某多条进行操作 create by xsw at 2004-09-10
procedure smxs_singlecl(mygrid:Tstringgrid; row_x:integer; smxs_cl:string ;var myobject:Tobjectlist);
4、 在hu_pub.pas单元中----[修改过程]
{将清单定额添加到套定额库中Tstringgrid}
procedure getselectqd(mygrid:Tstringgrid; row_x:integer; rowlist:Tstringlist; dek_str:string; gcl:currency; glNo:string);
5、在ys.pas单元中----[修改过程]
procedure Tfrm_ys.StringGrid1KeyPress(Sender: TObject; var Key: Char);
6、在ys.pas单元中----[修改过程]
procedure Tfrm_ys.showdek(); ,在查询中加入Difffare5
7、在ys.pas单元中----[修改过程]
菜单控件popubmenu1的N201(说明系数调整)
procedure Tfrm_ys.N201Click(Sender: TObject);
8、修改定额数据库,在[N]dek中将Difffare5的类型改为字符串,且字段充许为空,同时将原来的0改为NULL或空格.
--------------------------调差问题----------------------------------
在定额数据库中,[N]dek中将Difffare1的用作人工调差,Difffare2的用作材料调差,Difffare3的用作机械调差,如果没有调差则其值设为0;
1、在ys.pas单元中----[修改过程]
procedure Tfrm_ys.rcj_gridSelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
procedure Tfrm_ys.getselectrecord(mygrid:Tstringgrid; row_x:integer);
procedure Tfrm_ys.h_rcjlist(mygrid:Tstringgrid; r_ID:integer;R_bh:string;R_flag:boolean;replacefalg:integer;tmp_a:T_array);
2、在hu_pub.pas单元中----[添加过程]
{设置人工调差,材料调差,机械调差create by xsw at 2004-010-10}
procedure rgclzj_Tc(rg_r,cl_r,zj_r:currency; R_ID:integer; myobject:Tobjectlist);
3、在hu_pub.pas单元中----[修改过程]
{将计算后的人材机(人材机数据改变)存入人材机对象数组中}
procedure savercj_ToObj(de_grid,rc_grid:Tstringgrid; row_x:integer; var rcj_change:rcj_state; var rcjlistfile:Tobjectlist;field_tmp:Tobjectlist);
function jsqtcldj(w_r,s_r,z_r,R_hl:real; typeID:integer):real;
procedure tfrm_ys.SavePrice;
var
i:integer;
begin
for i:=1 to grid_jca.RowCount-1 do begin //for begin
if (trim(grid_jca.Cells[1,i])<>'') or (trim(grid_jca.Cells[2,i])<>'') then begin
DYQR1.SQL.Clear ;
DYQR1.SQL.Add('insert into resource (id,unit,rname,aprice,pname) values(:p1,:P2,:P3,:P4,:P5)');
DYQR1.Parameters.ParamByName('p1').Value:=trim(grid_jca.Cells[1,i]);
DYQR1.Parameters.ParamByName('p2').Value:=trim(grid_jca.Cells[3,i]);//这里是保存工程名称的
DYQR1.Parameters.ParamByName('p3').Value:=trim(grid_jca.Cells[2,i]); //规格型号,还要改
DYQR1.Parameters.ParamByName('p4').Value:=trim(grid_jca.Cells[10,i]);//市场价
DYQR1.Parameters.ParamByName('p5').Value:=''; //厂家,暂时留着
try
DYQR1.ExecSQL;
except
on E:exception do begin
messagebox(handle,pchar('保存失败,错误原因:'+E.Message+#13#10#10
+'如有必要,请与软件供应商联系!'),'提示',mb_iconexclamation);
abort;
end;
end;
end;
end;
end;
如果已经建好了这个表,那么你在Access中只要建立一个"生成表查询"(用SELECT ... INTO NewTalbe FROM SourceTable),然后清除表中的数据(DELETE FROM SourceTalbe)就可以了。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -