以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]新手写语句时遇到困惑,求修改  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=16776)

--  作者:nevercool
--  发布时间:2012/2/23 15:27:00
--  [求助]新手写语句时遇到困惑,求修改

如附件中_DataColChanged事件,根据不同户口性质及社保基数来计算对应各项保险金额。经测试计算方面没问题,但在修改条件时状况出现了:

 

1、输入户口性质、养老基数后,无反应;必须输完医疗基数后才全部生成;

 

2、先清空医疗基数后,再清空养老基数时,对应数值未自动清空,反之则没问题;

 

3、基数都存在时,清空户口性质,后面数值仍未清空。

 

感觉问题好像和语句的顺序有问题,户口性质应该和基数是互相关联的才对啊。另外自己看着那代码也有点累赘,如果我再定义别的户口性质,该不会接着那样写下去吧? 那代码得多长啊...

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:社保测试.table

[此贴子已经被作者于2012-2-23 15:59:32编辑过]

--  作者:狐狸爸爸
--  发布时间:2012/2/23 15:38:00
--  
你得配合一个具体的表格,输入测试测数据,写上你的代码,然后传上来,再提问,说明:在什么表的设么时间,设置了什么代码,目的是什么,遇到了什么问题。
--  作者:nevercool
--  发布时间:2012/2/23 16:01:00
--  

刚才不知怎么打开论坛特别慢,附件竟然没传上。帮忙看下


--  作者:听雪落的声音
--  发布时间:2012/2/23 16:20:00
--  
大致看了一眼,好像用select case 好些,也许不会出各个问题
--  作者:nevercool
--  发布时间:2012/2/23 16:38:00
--  

帮忙改下啊


--  作者:狐狸爸爸
--  发布时间:2012/2/23 16:47:00
--  

应该这样:

 

If e.DataRow.IsNull("医疗基数") Then
    e.DataRow("医疗保险_单位") = Nothing
    e.DataRow("医疗保险_个人") = Nothing
    e.DataRow("生育保险") = Nothing
Else
    e.DataRow("医疗保险_单位") = (e.DataRow("医疗基数") * 0.1)
    e.DataRow("医疗保险_个人") = (e.DataRow("医疗基数") * 0.02 + 3)
    e.DataRow("生育保险") = (e.DataRow("医疗基数") * 0.008)
End If
If e.DataRow.IsNull("养老基数") Then
    e.DataRow("养老保险_单位") = Nothing
    e.DataRow("养老保险_个人") = Nothing
    e.DataRow("失业保险_单位") = Nothing
    e.DataRow("失业保险_个人") = Nothing
    e.DataRow("工伤保险") = Nothing
Else
    e.DataRow("养老保险_单位") = (e.DataRow("养老基数") * 0.2)
    e.DataRow("养老保险_个人") = (e.DataRow("养老基数") * 0.08)
    e.DataRow("失业保险_单位") = (e.DataRow("养老基数") * 0.01)
    e.DataRow("失业保险_个人") = (e.DataRow("养老基数") * 0.002)
    e.DataRow("工伤保险") = (e.DataRow("养老基数") * 0.005)
End If

 


--  作者:nevercool
--  发布时间:2012/2/23 17:11:00
--  

哦~~明白了。

 

如果把条件设为其它户口性质后,还是继续这么写下去吗? 这样倒是特通俗,不过感觉有点累赘啊.


--  作者:狐狸爸爸
--  发布时间:2012/2/23 17:31:00
--  
没有办法,你这个又没有规则可言,老老实实写代码
--  作者:nevercool
--  发布时间:2012/2/23 17:39:00
--  

嗯,慢慢来吧~图片点击可在新窗口打开查看