⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 修改备注2004-10-08.txt

📁 工程预算系统
💻 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 + -